Doctrine获取非null ArrayCollection

时间:2016-11-15 09:56:12

标签: symfony doctrine-orm

我想仅在参数是此实体的一部分或者实体参数为空时才获取所有实体。

我有这个:

$qb = $this->createQueryBuilder('cc')                
->join('Toblor\Entity\Paramount', 'p')
->select('p')
->Where(':company MEMBER OF p.company_activated')
->setParameter('company ', $company)

return $qb->getQuery()->getResult();

这对工作做得很好。但是,如果company是company_actived的一部分,或者如果company_activated为空,我希望得到相同的结果。我试过了

->Where('(:company MEMBER OF p.company_activated OR p.company_activated IS NULL)') 

它会触发我这个错误

Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.

有没有简单的方法来做这件事?因为我需要在很多领域实施。

谢谢你

1 个答案:

答案 0 :(得分:0)

您与company_activated ManyToManyOneToMany的关系。

如果是这种情况,您需要添加:

->leftJoin('p.company_activated', 'ca')

然后检查是否ca IS NULL