This commit is contained in:
Miroslav Bajtoš 2016-06-03 11:18:57 +02:00 committed by Amir Jafarian
parent 534a0e5892
commit 9bf60e0d74
2 changed files with 25 additions and 0 deletions

View File

@ -1559,6 +1559,8 @@ RelationDefinition.hasAndBelongsToMany = function hasAndBelongsToMany(modelFrom,
var options = { as: params.as, through: params.through }; var options = { as: params.as, through: params.through };
options.properties = params.properties; options.properties = params.properties;
options.scope = params.scope; options.scope = params.scope;
// Forward relation options like "disableInclude"
options.options = params.options;
if (params.polymorphic) { if (params.polymorphic) {
var polymorphic = polymorphicParams(params.polymorphic); var polymorphic = polymorphicParams(params.polymorphic);

View File

@ -617,6 +617,29 @@ describe('include', function() {
}); });
}); });
}); });
it('should support disableInclude for hasAndBelongsToMany', function() {
var Patient = db.define('Patient', { name: String });
var Doctor = db.define('Doctor', { name: String });
var DoctorPatient = db.define('DoctorPatient');
Doctor.hasAndBelongsToMany('patients', {
model: 'Patient',
options: { disableInclude: true },
});
var doctor;
return db.automigrate(['Patient', 'Doctor', 'DoctorPatient']).then(function() {
return Doctor.create({ name: 'Who' });
}).then(function(inst) {
doctor = inst;
return doctor.patients.create({ name: 'Lazarus' });
}).then(function() {
return Doctor.find({ include: ['patients'] });
}).then(function(list) {
list.should.have.length(1);
list[0].toJSON().should.not.have.property('patients');
});
});
}); });
function setup(done) { function setup(done) {