Php 对于symfony2和条令为空

Php 对于symfony2和条令为空,php,symfony,doctrine-orm,query-builder,Php,Symfony,Doctrine Orm,Query Builder,我正在尝试这段代码,但我一直遇到错误 $q = $this->_em->createQueryBuilder('p') ->select('p') ->from('ClendarRecipeBundle:RecipePlan', 'p') ->leftJoin('p.recipeCalendars', 'c') ->groupBy('c.recipePlan') ->having('p.portions >

我正在尝试这段代码,但我一直遇到错误

$q = $this->_em->createQueryBuilder('p')
    ->select('p')
    ->from('ClendarRecipeBundle:RecipePlan', 'p')
    ->leftJoin('p.recipeCalendars', 'c')
    ->groupBy('c.recipePlan')
    ->having('p.portions > SUM(c.portions)')
    ->orHaving('SUM(c.portions) IS NULL')
    ->getQuery();
当SUM(c.partions)为NULL时,第一个have没有选择它,因此我尝试添加或having,但symfony2给出以下错误:

[Syntax Error] line 0, col 204: Error: Expected =, <, <=, <>, >, >=, !=, got 'IS'
[语法错误]第0行第204列:错误:预期=,=,!=,有“是”
我尝试了几种不同的写作方式,你们有没有好的建议我可以试试? 我可以尝试RAWS Sql,但我更喜欢QueryBuilder中带有对象的代码。

它应该是:

SUM(c.portions) != 0

=NULL
替换
=NULL
如果我这样做,我会得到以下错误,这是正常的,因为据你所知,你可以像那样比较NULL。(至少不是在sql中)[语法错误]第0行,第206列:错误:应为文本,得到'NULL'我的错误,使其
SUM(c.parties)!=0
。这是一个很好的逻辑解决方案,我应该亲眼看看。非常感谢。