我试图将包含模型列的自定义条件设置为等于父模型列的值,但它在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'
请帮助,以便我可以在所包含模型的列值上添加条件。
答案 0 :(得分:0)
将required: false
更改为required: true
。这将仅返回其包含的行符合您条件的行。