doctrine2获取没有集合的实体列表

时间:2013-02-26 10:47:23

标签: symfony doctrine-orm

这是我的问题:我在Address实体上有一个具有oneToMany关系的用户实体。 我希望在单个查询中让所有用户都没有地址。这是我的查询器:

$qb = $this->createQueryBuilder('u')
    ->where('u.enabled = :enabled')
    ->setParameter('enabled', true)
    //->andWhere('u.addresses ..... ?? how to do that ?
    ->orderBy('u.created', 'DESC');

    if ( is_int($limit) && $limit > 0 ) {
        $qb = $qb->setFirstResult($offset)
                 ->setMaxResults($limit);
    }

    return $qb;

我不知道如何在一个查询中检索只有NO地址的所有用户... 有人能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

来自DQL Documentation examples,使用IS EMPTY

$qb = $this
    ->createQueryBuilder('u')
    ->where('u.enabled = :enabled')
    ->setParameter('enabled', true)
    ->andWhere('u.addresses IS EMPTY')
    ->orderBy('u.created', 'DESC');

    if ($limit) {
        $qb = $qb
            ->setFirstResult($offset)
            ->setMaxResults($limit);
    }

    return $qb;