我有一个查询返回公司详细信息的查询,但是如果用于左JOIN的字段是空查询返回错误。如何解决此问题?
我尝试了,
->leftJoin('company.field1', 'field1')
->leftJoin('company.field2', 'field2')
->andWhere('company.field1!= :empty')->setParameter('empty', serialize([]))
->andWhere('company.field2!= :empty')->setParameter('empty',
serialize([]));
这将返回所有具有非空字段1和field2的公司。但是我希望所有具有空/非空的field1& field2的公司。这个fields fields field1和field2不是从前端添加的强制性字段。
LeftJoin
接受null值。
$queryBuilder
->leftJoin('company.field1', 'field1')
->leftJoin('company.field2', 'field2')
->where('company.field1 is null')
->andWhere('company.field2 is null');
这将返回所有Field1和Field2仅为空的公司。(必须为空返回两个字段(。(也许您应该尝试使用=
而不是关键字is
(