0

这是我的问题:我有一个与 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;

我不知道如何在一次查询中仅检索所有没有地址的用户...有人可以帮我吗?

4

1 回答 1

2

DQL 文档示例中,使用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;
于 2013-02-26T11:08:07.827 回答