diff --git a/lib/Associations/Many.js b/lib/Associations/Many.js index df5734dc..7438c0c5 100644 --- a/lib/Associations/Many.js +++ b/lib/Associations/Many.js @@ -257,8 +257,22 @@ function extendInstance(Model, Instance, Driver, association, opts, createInstan }); Object.defineProperty(Instance, association.delAccessor, { value: function () { - var Associations = Array.prototype.slice.apply(arguments); - var cb = (typeof Associations[Associations.length - 1] == "function" ? Associations.pop() : noOperation); + var Associations = []; + var cb = noOperation; + for (var i = 0; i < arguments.length; i++) { + switch (typeof arguments[i]) { + case "function": + cb = arguments[i]; + break; + case "object": + if (Array.isArray(arguments[i])) { + Associations = Associations.concat(arguments[i]); + } else if (arguments[i].isInstance) { + Associations.push(arguments[i]); + } + break; + } + } var conditions = {}; var run = function () { if (Driver.hasMany) {