1 回答

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
使用不開箱即用的聯(lián)接表列的子句可以包裝在 $中。
為了獲取涉及嵌套列的頂級(jí) WHERE 子句,Sequelize 提供了一種引用嵌套列的方法:“$nested.column$”語法。
例如,它可用于將 where 條件從包含的模型從 ON 條件移動(dòng)到頂級(jí) WHERE 子句。
User.findAll({
where: {
'$Instruments.size$': { [Op.ne]: 'small' }
},
include: [{
model: Tool,
as: 'Instruments'
}]
});
在 SQL 中生成:
SELECT
`user`.`id`,
`user`.`name`,
`Instruments`.`id` AS `Instruments.id`,
`Instruments`.`name` AS `Instruments.name`,
`Instruments`.`size` AS `Instruments.size`,
`Instruments`.`userId` AS `Instruments.userId`
FROM `users` AS `user`
LEFT OUTER JOIN `tools` AS `Instruments` ON
`user`.`id` = `Instruments`.`userId`
WHERE `Instruments`.`size` != 'small';
有關(guān)文檔,您可以在此處閱讀:https://sequelize.org/master/manual/eager-loading.html
添加回答
舉報(bào)