Wie geht es, um links in Doctrine beizutreten?
Dies ist meine Funktion, wo ich versuche zu zeigen, die User-history. Für diese brauche ich zur Anzeige der aktuellen credits zusammen mit seiner Kredit-Geschichte.
Dies ist, was ich versuche zu tun:
public function getHistory($users) {
$qb = $this->entityManager->createQueryBuilder();
$qb->select(array('a','u'))
->from('Credit\Entity\UserCreditHistory', 'a')
->leftJoin('User\Entity\User', 'u', \Doctrine\ORM\Query\Expr\Join::WITH, 'a.user = u.id')
->where("a.user = $users ")
->orderBy('a.created_at', 'DESC');
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
}
Jedoch bekomme ich diesen Fehler :
[Syntax Error] line 0, col 98: Fehler: Expected Doctrine\ORM\Query\Lexer::T_WITH, hab 'AUF'
Bearbeiten: ich ersetzte 'AUF' mit 'zu' in der join-Klausel und jetzt das, was ich sehe, ist nur 1 Wert aus der verknüpften Spalte.
InformationsquelleAutor der Frage noobie-php | 2013-02-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie ein Verein auf eine Eigenschaft verweist, auf der user (sagen wir mal
Credit\Entity\UserCreditHistory#user
ausgewählt aus deinem Beispiel), dann ist die syntax dafür ist ziemlich einfach:Da Sie das anwenden einer Bedingung auf den verknüpften Ergebnis hier, mit einem
LEFT JOIN
oder einfachJOIN
ist die gleiche.Wenn keine Verbindung verfügbar ist, dann ist die Abfrage sieht wie folgt aus
Dadurch wird ein resultset, das sieht wie folgt aus:
InformationsquelleAutor der Antwort Ocramius