NodeJS Sequalize - 基于关系查找

时间:2017-02-28 16:16:29

标签: node.js sequelize.js

我正在使用seqalize js并且我有一个关系“驱动程序[可以拥有]许多驱动程序”。这基于多对多关系。

我正在尝试找到所有基于特定公司的驱动程序。我有以下内容:

models.drivers.findAll({

        where: {"companies.id":1},
        include: [
          models.companies
        ]
    }).then(function(result){

        return res.json(result);
        return;

    });

我收到以下错误:

  
    

未处理的拒绝SequelizeDatabaseError:列drivers.companies.id不存在

  

当我输出没有where子句的结果时,它显示关联公司就好了。我看不出这个问题会来自何处?

1 个答案:

答案 0 :(得分:1)

根据model.findAll

的文档,您可以在methods:{ rate: function () { var star = this.star this.$http.post(window.BaseUrl + '/star', {star: star}).then(function (response) { console.log('submitted'); }); }, 内使用where选项
  

适用于儿童模特的条款。

include

这将生成models.drivers.findAll({ include: [ { model: models.companies, where: { id: 1 } } ] }).then(function(result){ return res.json(result); }); 条件,如

JOIN

假设ON drivers.id = drivers_companies.driver_id AND companies.id = 1 是加入drivers_companiesdrivers之间的M:M关系的表格。