0

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

请帮助,以便我可以对包含模型的列值设置条件。

4

1 回答 1

0

更改required: falserequired: true。这将仅返回其包含的行与您的条件匹配的行。

于 2016-08-14T20:18:18.230 回答