Javascript 使用and&;或者在哪个街区
我正在尝试用typeorm构建下面的查询Javascript 使用and&;或者在哪个街区,javascript,typescript,typeorm,Javascript,Typescript,Typeorm,我正在尝试用typeorm构建下面的查询 SELECT * from Department where type = 'Employee' and ((from_date BETWEEN '2013-01-03'AND '2013-01-09') OR (to_date BETWEEN '2013-01-03' AND '2013-01-09') OR (from_date <= '2013-01-03' AND to_date >= '2013-01-09')) 但不知何故,
SELECT * from Department where
type = 'Employee' and
((from_date BETWEEN '2013-01-03'AND '2013-01-09') OR
(to_date BETWEEN '2013-01-03' AND '2013-01-09') OR
(from_date <= '2013-01-03' AND to_date >= '2013-01-09'))
但不知何故,我得到了错误的输出数量。这就好像andWhere不起作用一样。
提前感谢让qb=this.repository.createQueryBuilder(“部门”);
其中(“department.type=:type”,{type:“Employee”});
qb.和where(((部门自'2013-01-03'和'2013-01-09'之间的日期)或
(部门截止日期介于“2013-01-03”和“2013-01-09”之间)或
(department.from_date='2013-01-09'));
我不确定这是一个有效的选项。我认为您有两种选择:在每个“or”子句中添加“type”,或者使用queryBuilder。
connection.find(Department, {
where: [
{ fromDate: Between(filter.fromDate, filter.toDate) },
{ toDate: Between(filter.fromDate, filter.toDate) },
{
fromDate: LessThanOrEqual(filter.fromDate),
toDate: MoreThanOrEqual(filter.toDate),
},
],
andWhere: { type: 'Employee' },
});