我试图在包含模型的列上设置一个自定义条件,使其等于父模型列的值,但在sequelize 3.8.7模块中无法按预期工作。
下面是我尝试的代码
Quotes.findOne({
where: {'id' : req.body.quoteId},
include : [
{model : Jobs},
{model : HaulerProfiles, include : [{model : UserFavouriteBanned, where : {'userId' : mysqlORM.sequelize.col('Job.customerId'), 'actionOn' : mysqlORM.sequelize.col('HaulerProfile.id'), 'actionType' : 'B'}, required : false}]}
]
})
但是,当我检查执行的查询条件时,mysqlORM.sequelize.col不包含在内。它像这样执行LEFT OUTER JOIN
LEFT OUTER JOIN `UserFavouriteBanned` AS `HaulerProfile.UserFavouriteBanned` ON `HaulerProfile`.`id` = `HaulerProfile.UserFavouriteBanned`.`actionOn` AND `Job`.`customerId` AND `HaulerProfile`.`id` AND `HaulerProfile.UserFavouriteBanned`.`actionType` = 'B'
请帮助,以便我可以将条件放在包含模型的列值上。
最佳答案
将required: false
更改为required: true
。这将仅返回包含的行与您的条件匹配的行。
关于mysql - 如何在附带模型Sequelize中设置条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38915637/