我正在使用 Sequelize,并且不完全确定如何获取具有两个关联条件的模型的所有实例。采取以下设置,其中个人拥有多只狗,并且不一定使用相同的狗舍来寄养每只狗:
let Owner = sequelize.define('owner', ...);
let Kennel = sequelize.define('kennel', ...);
let Dog = sequelize.define('dog', ...);
Dog.belongsTo(Owner);
Dog.belongsTo(Kennel);
Kennel.hasMany(Dog);
Owner.hasMany(Dog);
给定一个狗窝实例和一个主人实例,我如何找到该主人所有并登上该狗窝的所有狗?显然,如果我只关心这些条件之一,我可以做
owner.getDogs()
,但我不确定如何概括。
最佳答案
您只是在寻找拥有特定犬舍或主人的狗。拥有这两个实例,您将拥有两个外键
Dogs.findAll({
where: {
[Op.or]: [{kennelId: kennel.id}, {ownerId: owner.id}]
}
})
关于javascript - 使用两个关联在 Sequelize 中获取模型的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48283275/