gpt4 book ai didi

sequelize.js - 使用 Sequelize,如何在不包含连接模型的属性上查询模型?

转载 作者:行者123 更新时间:2023-12-03 22:42:41 24 4
gpt4 key购买 nike

模型定义如下:

Team = sequelize.define 'team',
name: Sequelize.STRING

User = sequelize.define 'user',
name: Sequelize.STRING
foo: Sequelize.INTEGER

Team.hasMany User
User.belongsTo Team

如何获取包含 foo 等于 42 的用户的所有团队,结果中不包含用户,并且结果中不会多次出现相同的团队,即如何生成以下查询?
SELECT DISTINCT team.id, team.name
FROM team
INNER JOIN user ON user.team_id = team.id
WHERE user.foo = 42

编辑 :查询应该是 a raw query ,即使用 rawfindAll() 选项。

最佳答案

要进行内部连接,请在 required = true 方法的 include 选项中使用 find* 。 DISTINCT 怎么样——你可以试试这个 hack:

Team.findAll({ 
attributes: ['DISTINCT team.id','team.name'], // hack with distinct
include: [{
model: User,
required: true, // inner join
attributes: [] // exclude user fields from select
}]
});

关于sequelize.js - 使用 Sequelize,如何在不包含连接模型的属性上查询模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29042602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com