我有一个实体用户关系manyToOne与Gallery。 用户实体将oneToMany与Insurance相关联。 保险实体与图书馆有很多关系。
我希望所有图库都与用户和用户保险相关联。
在GalleryRepository中我有这个查询:
qb = $this->createQueryBuilder('o');
$qb->select('o')
->join("AppBundle:Insurance", 'i')
->where(':user MEMBER OF o.userDocument')
->orWhere(':user MEMBER OF o.insuranceDocument')
->setParameter('user', $user);
但是此查询返回与用户关联的图库,并且只有一个来自保险的图库(此用户有两个保险)。
我做错了什么?
谢谢!
答案 0 :(得分:0)
使用此查询:
$qb->select('o')
->leftJoin("AppBundle:Insurance", 'i', 'i.user = :user')
->where(':user MEMBER OF o.insuranceDocument')
->andWhere('i.user = :user')
->setParameter('user', $user);
我从所有用户那里获得所有图库。
我要疯了:/