2017-05-25 8 views
0

Ich habe eine Entität Benutzer mit Beziehung manyToOne mit Gallery. Die Benutzer-Entität hat die Beziehung oneToMany mit Insurance. Die Versicherungseinheit hat eine Beziehung mit einer Galerie.Symfony erhalten Galerien von zwei Entitäten

Ich möchte alle Galerie mit Benutzer und mit der Versicherung des Benutzers in Verbindung gebracht werden.

In GalleryRepository habe ich diese Abfrage:

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

Aber diese Abfrage gibt die Galerie mit Benutzer relationated und nur eine Galerie von Versicherung (diese Benutzer haben zwei Insurance).

Was mache ich falsch?

Vielen Dank!

+0

vielleicht ist das Problem, dass Sie die Benutzertabelle in Abfrage nicht beitreten. –

+0

@MehmetSoylu Vielen Dank für Ihre Antwort. Ohne das Join ist das Ergebnis das gleiche – RL83

+0

Anstelle von oder Wo verwenden und Where –

Antwort

0

Mit dieser Abfrage:

$qb->select('o') 
     ->leftJoin("AppBundle:Insurance", 'i', 'i.user = :user') 
     ->where(':user MEMBER OF o.insuranceDocument') 
     ->andWhere('i.user = :user') 
     ->setParameter('user', $user); 

ich alle Galerie aus allen Benutzern.

Ich bin verrückt:/

Verwandte Themen