0

我正在使用 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(),但我不确定如何概括这一点。

4

1 回答 1

0

您只是在寻找拥有特定犬舍或主人的狗。拥有两个实例,您将拥有两个外键

Dogs.findAll({
  where: {
    [Op.or]: [{kennelId: kennel.id}, {ownerId: owner.id}]
  }
})
于 2018-01-17T21:15:58.430 回答