在我的Dymfony2/Doctrine2应用程序中,我在对象及其子对象之间具有oneToMany关系。

我想选择所有没有子对象的对象。

我被各种错误困住了:SingleValuedAssociationField,无法在非结果变量上添加Haveing sth等。

$queryBuilder = $this
    ->createQueryBuilder('object')
    ->leftJoin('object.children', 'children')
    ->andWhere('children IS NULL')
    // tested with a parameter, with addselect COUNT(children) and 0 condition, etc.
    ->getQuery()
    ->getResult();

我该如何解决?

最佳答案

有一个叫做SIZE()的选择器,应该可以解决问题。更多阅读here.

尝试这样的事情:

$this
    ->createQueryBuilder('object')
    ->leftJoin('object.children', 'children')
    ->where('SIZE(object.children) = 0')
    ->getQuery()
    ->getResult();

关于symfony - Doctrine2 QueryBuilder : How to filter out entities having zero count for a OneToMany,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30444996/

10-13 04:57