我有一个实体 Person (p),它与与实体 NotificationType 相关的实体 Notifications 相关。
- 有些人收到了类型 1 的通知 (notification_type_id = 1)。
- 有些已收到通知,但不是类型 1
- 有些根本没有收到消息。
在全球范围内,我想检索那些尚未收到类型 1 消息的人。
我写了这个查询:
$qb = $this->createQueryBuilder('p')
->leftJoin('p.notifications', 'n')
->leftJoin('p.notification_type', 'nt')
->addSelect(array('p','n','nt'))
->where('nt.id NOT IN (1)')
->orderBy('p.name', 'ASC');
return $qb->getQuery()->getResult();
但是通过这个查询,我只得到那些收到通知但不是类型 1 的人,我没有得到那些根本没有收到通知的人。
我怎样才能纠正我的查询以获得那些?
非常感谢你的帮助