12345678910111213141516171819202122232425 |
- const ManyToManyModifyMixin = require('./ManyToManyModifyMixin');
- const ManyToManyMySqlModifyMixin = Operation => {
- return class extends ManyToManyModifyMixin(Operation) {
- createModifyFilterSubquery(builder) {
- const modifyFilterSubquery = super.createModifyFilterSubquery(builder);
- return this.wrapIntoYetAnotherSubquery(builder, modifyFilterSubquery);
- }
- wrapIntoYetAnotherSubquery(builder, modifyFilterSubquery) {
- const relatedModelClass = this.relation.relatedModelClass;
- const tableRef = builder.tableRefFor(relatedModelClass);
- return relatedModelClass
- .query()
- .childQueryOf(builder)
- .from(modifyFilterSubquery.as(tableRef));
- }
- };
- };
- module.exports = ManyToManyMySqlModifyMixin;
|