diff --git a/.gitignore b/.gitignore index 64a8281a..f3d45af1 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ doc coverage.html coverage v8.log +.idea** .DS_Store diff --git a/lib/abstract-class.js b/lib/abstract-class.js index 453794b7..6cb2eb0e 100644 --- a/lib/abstract-class.js +++ b/lib/abstract-class.js @@ -839,6 +839,7 @@ AbstractClass.hasMany = function hasMany(anotherClass, params) { return {where: x}; }, { find: find, + all: all, destroy: destroy }); @@ -857,6 +858,23 @@ AbstractClass.hasMany = function hasMany(anotherClass, params) { }.bind(this)); } + function all(filter,cb) { + if (!filter) { + filter = {}; + } + if (!filter.where) { + filter.where = {}; + } + filter.where[fk] = this.id.toString(); + + anotherClass.all(filter,function(err,inst){ + if (err) return cb(err); + if (!inst) return cb(null,[]); + else return cb(null,inst); + + }.bind(this)); + } + function destroy(id, cb) { this.find(id, function (err, inst) { if (err) return cb(err);