Sequelize.js 具有多个模型的Sequelize或子句

Sequelize.js 具有多个模型的Sequelize或子句,sequelize.js,Sequelize.js,我正在寻找一种方法来编写一个查询,其中包含一个引用多个模型(表)的OR子句 我希望sql最终看起来像这样: select * from Department inner join Office on Department.OfficeId = Office.Id where Office.Name like 'spokane%' or Department.Name like 'spokane%' select * from Department inner join Office on De

我正在寻找一种方法来编写一个查询,其中包含一个引用多个模型(表)的OR子句

我希望sql最终看起来像这样:

select *
from Department
inner join Office on Department.OfficeId = Office.Id
where Office.Name like 'spokane%'
or Department.Name like 'spokane%'
select *
from Department
inner join Office on Department.OfficeId = Office.Id and Office.name like 'spokane%'
where Department.name like 'spokane%'
我见过关于过滤联接表的类似问题,答案如下所示

options.include = [{
    model: offices.model,
    where: {
        name: {
           $like: 'spokane%'
        }
    }
  }];

options.where = Sequelize.or(
    {
       'name': {
          $like: 'spokane%'
        }
    });

departments.findAndCount(options);
但是,这不会生成正确的sql

它吐出这样的东西:

select *
from Department
inner join Office on Department.OfficeId = Office.Id
where Office.Name like 'spokane%'
or Department.Name like 'spokane%'
select *
from Department
inner join Office on Department.OfficeId = Office.Id and Office.name like 'spokane%'
where Department.name like 'spokane%'

任何帮助都将不胜感激。

谢谢!我不得不修改include以使其成为必需的,但后来它工作得很好
{model:offices.model,required:true}
谢谢@JuanitoCROM,
required
选项帮助了我
options.where = {
  $or: [
    sequelize.where(sequelize.col('office.name'), { $like: 'foo'}),
    sequelize.where(sequelize.col('department.name'), { $like: 'foo'})
  ]
}