我想知道,我该如何限制我的belongsToMany关系。我尝试增加限制,但出现此错误:
“ message”:“仅HasMany协会支持include.separate”,
我有2张桌子:
| peoples (id, code)
| people-friends (fk_user_id, fk_friend_id) // fk_friend_id is an id from user
我的请求 :
await db.People.findAll({
where: {
id: parent.dataValues.id,
},
include: [
{
model: db.People,
as: "Friends",
limit: 2, // <--- LIMIT
},
],
})
人物模型:
People.associate = (models) => {
// People relations
models.People.belongsToMany(models.People, {
as: "Friends",
through: models.PeopleFriend,
foreignKey: "fk_user_id",
otherKey: "fk_friend_id",
})
}
如果您希望某位用户的朋友受到2个朋友(哪个?您必须添加一个order
选项)的限制,则可以查询包括以下人物模型的PeopleFriend:
await db.PeopleFriend.findAll({
where: {
fk_user_id: parent.dataValues.id
},
limit: 2, // <--- LIMIT
order: [['Friend', 'name', 'asc']],
include: [
{
model: db.People,
as: "Friend",
},
{
model: db.People,
as: "User",
},
],
})
不要忘记将PeopleFriend的关联添加到两个People链接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句