后端返回错误时,当左JOIN字段为空时



我有一个查询返回公司详细信息的查询,但是如果用于左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(

相关内容

  • 没有找到相关文章

最新更新