2017-02-03 4 views
1

ich so etwas wie das mit meiner Frage zu tun:Symfony2 Lehre verbinden verschachtelte Beziehung

SELECT * FROM `Parent` P 
LEFT JOIN `child` C ON P.id = C.parentID 
LEFT JOIN `childOfChild` CoC ON C.id = CoC.cID 
WHERE P.id = 1 

ich diesen Querybuilder versuchen, aber nicht funktionieren.

$query = $this->getEntityManager() 
    ->createQueryBuilder() 
    ->select('P,C,CoC') 
    ->from('DspAppsBundle:Parent', 'P') 
    ->leftJoin('P.child', 'C') 
    ->leftJoin('C.childOfChild', 'CoC') 
    ->where('P.id = 1') 
    ->getQuery(); 

Kann mir jemand sagen, wie ich die Kamera funktioniere?

Antwort

1

Hallo so etwas wie dies versuchen (Sie können getResult() mit getSingleResult() ersetzen oder was auch immer zu Ihnen passt):

$query = $this->getEntityManager() 
    ->createQueryBuilder() 
    ->select('P,C,CoC') 
    ->from('DspAppsBundle:Parent', 'P') 
    ->leftJoin('DspAppsBundle:Child', 'C', 'WITH', 'P.id = C.parentId') 
    ->leftJoin('DspAppsBundle:ChildOfChild', 'CoC', 'WITH', 'C.id = CoC.cId') 
    ->where('P.id = 1') 
    ->getQuery() 
    ->getResult(); 
+0

ja. Vielen Dank. arbeite für mich. Entschuldigung, langsame Reaktion. @piyushsingh –

+0

Ehrfürchtig. Keine Bange! :) –

0

Sie müssen die Abfrage ausführen, um die Ergebnisse zu erhalten.

$query = $this->getEntityManager() 
    ->createQueryBuilder() 
    ->select('P,C,CoC') 
    ->from('DspAppsBundle:Parent', 'P') 
    ->leftJoin('P.child', 'C') 
    ->leftJoin('C.childOfChild', 'CoC') 
    ->where('P.id = 1') 
    ->getQuery(); 
$result = $query->execute(); 

Was bekommen Sie in $result?

+0

i do 'query- $ return> getArrayResult();' aber nicht funktionieren. –

+0

Was bekommen Sie im Ergebnis? Hast du eine Null? – Jeet

Verwandte Themen