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

时间:2019-05-08 05:12:48

标签: php mysql doctrine-orm query-builder api-platform.com

我有一个查询以返回公司详细信息,但是如果用于左联接的字段为空查询则返回错误。如何解决此问题?

我尝试过

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

这将只返回所有非空field1和field2的公司。但是我希望所有具有空/非空field1&field2的公司。此字段field1和field2不是从前端添加的必填字段。

1 个答案:

答案 0 :(得分:1)

1 < = K <= N接受空值。

LeftJoin

这将返回所有仅field1和field2为空的公司。 (两个字段必须为空才能返回)。 (也许您应该尝试使用$queryBuilder ->leftJoin('company.field1', 'field1') ->leftJoin('company.field2', 'field2') ->where('company.field1 is null') ->andWhere('company.field2 is null'); 而不是关键字=