当左连接字段为空时后端 returns 错误

Backend returns error when left join fields are empty

我想查询 return 公司的详细信息,但是如果用于左连接的字段为空查询 returns 错误。如何解决这个问题?

我试过了,

->leftJoin('company.field1', 'field1')
->leftJoin('company.field2', 'field2')
->andWhere('company.field1!= :empty')->setParameter('empty', serialize([]))
        ->andWhere('company.field2!= :empty')->setParameter('empty', 
serialize([]));

这将 return 所有具有非空 field1 和 field2 的公司 only.But 我希望所有具有 empty/non-empty field1&field2.This 字段 field1 和 field2 的公司都不是必填字段从前端添加。

LeftJoin 接受空值。

$queryBuilder
  ->leftJoin('company.field1', 'field1')
  ->leftJoin('company.field2', 'field2')
  ->where('company.field1 is null')
  ->andWhere('company.field2 is null');

这将 return 所有字段 1 和字段 2 为空的公司。 (这两个字段必须为空才能 returned)。 (也许您应该尝试使用 = 而不是关键字 is