我试图在包含模型的列上设置一个自定义条件,使其等于父模型列的值,但在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/

10-13 01:23