2017-05-25 77 views
0

我有一个具有与画廊关系的manyToOne实体用户。 用户实体与保险有关系oneToMany。 保险实体与图库有关系manyToOne。Symfony从两个实体获取画廊

我想让所有图库与用户和用户的保险关系。

在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); 

但这个查询返回用户relationated画廊,只有一个从保险库(该用户有两个保险)。

我做错了什么?

谢谢!

+0

也许问题是你没有加入查询中的用户表。 –

+0

@MehmetSoylu谢谢你的回答。没有加入的结果是一样的 – RL83

+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); 

我得到所有用户的所有照片。

我要疯了:/