如何把条件放入包含的模型Sequelize?

时间:2016-08-12 10:23:04

标签: mysql node.js sequelize-cli

我试图将包含模型列的自定义条件设置为等于父模型列的值,但它在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'

请帮助,以便我可以在所包含模型的列值上添加条件。

1 个答案:

答案 0 :(得分:0)

required: false更改为required: true。这将仅返回其包含的行符合您条件的行。