QueryBuilder OneToMany过滤器实体没有关系

时间:2014-01-19 14:58:07

标签: symfony doctrine-orm

我有一个模特

  • House @OneToMany(人)
  • 人们@ManyToOne(众议院)

我需要一个QueryBuilder来过滤所有没有人的房子

当前无效代码

$houseRepository
    ->createQueryBuilder('h')
    ->join('h.people', 'p')
    ->where('p is NULL');

总是回报我什么,我在数据库中有3个房子只有一个有人

1 个答案:

答案 0 :(得分:3)

您需要使用左连接进行此类查询。类似的东西:

$houseRepository
    ->createQueryBuilder('h')
    ->leftJoin('h.people', 'p')
    ->where('p is NULL');