Sequelize.js Sequelize急切加载检查查询(例如:它有…?)
我想获取用户名为“john”的项目Sequelize.js Sequelize急切加载检查查询(例如:它有…?),sequelize.js,Sequelize.js,我想获取用户名为“john”的项目 Project.belongsToMany(User, {through: 'UserProject'}); User.belongsToMany(Project, {through: 'UserProject'}); 我想要结果数据 include: [ { model: model.User, where: { name: 'john' }, },
Project.belongsToMany(User, {through: 'UserProject'});
User.belongsToMany(Project, {through: 'UserProject'});
我想要结果数据
include: [
{
model: model.User,
where: { name: 'john' },
},
],
但是它给了我
[
name: 'proejectA',
Users: [
{ name: 'john' }, { name: 'mike' }, { name: 'dude' } ...
]
]
我想与整个用户的项目,有一个名为'约翰'的用户
可以查询吗?您不能简单地实现这一点,但有一种方法可以做到: 为此,您必须定义另一个与
别名的关联,以及另一个包含的关联:
[
name: 'proejectA',
Users: [
{ name: 'john' }
]
]
如果在include中添加where条件(where:{name:'john'}),它将返回名称为的用户john@Priyank事实上,我希望项目中有一个名为john的用户和整个用户,但它只返回一个名为john的用户。
Project.belongsToMany(User, {through: 'UserProject'});
User.belongsToMany(Project, {through: 'UserProject'});
User.belongsToMany(Project, {through: 'UserProject',as: 'projectUsers'}); // <--- HERE
include: [
{
model: model.User,
where: {
name: 'john'
}
},
{
model: model.User,
as : 'projectUsers'
}
],
[
name: 'proejectA',
projectUsers: [
{ name: 'john' }, { name: 'mike' }, { name: 'dude' } ...
],
Users: [
{ name: 'john' }
]
]