Sequelizejs通过两个字段“包含”

时间:2018-09-10 15:07:32

标签: javascript mysql node.js sequelize.js

我正在尝试将2个表与sequ​​elizejs相关联。

表1的字段具有用于关系的ID,表2的字段具有2个关系,一个字段是模块(字符串),关系的ID。

表1 : ID order_id ...其他字段

表2 : ID 模组 lationship_id '''其他字段

SQL语法如下:

SELECT * FROM table1 AS t1 
LEFT JOIN table2 AS t2 ON t1.order_id = t2.relation_id AND 'SAC' = t2.module
INNER JOIN table3 AS t3 ON t1.c_id = t3.id
WHERE t1.active = 1

sequelize语法如下:

table1.findAll({
include: [
  { 
    model: sequelize.models.table3
  },
  {
    model: sequelize.models.table2,
    as: 't2',
    on: { 
        'SAC' : {$col: 't2.module'},
        table1.order_id: {$col: 't2.relation_id'}
    }
  }
]
})
.then((result) => {
    ...
})
.catch((err) => {
    ...
});

但是续集给了我下一个错误:

错误 => {SequelizeEagerLoadingError:t2与table1无关!

感谢您的帮助

0 个答案:

没有答案