Dies ist meine Funktion, wo ich versuche, den Benutzerverlauf zu zeigen. Dazu muss ich die aktuellen Credits des Benutzers zusammen mit seiner Kredithistorie anzeigen.Wie geht man links in Doctrine beizutreten?
Das 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;
}
Allerdings bekomme ich diesen Fehler:
[Syntax Error] line 0, col 98: Error: Expected Doctrine\ORM\Query\Lexer::T_WITH, got 'ON'
bearbeiten: die I ersetzt 'ON' mit 'WITH' mitmachen Klausel und jetzt, was ich sehe, ist nur 1 Wert aus der verbundenen Spalte.
i beide gerade versucht, nähert sich mit/ohne Beziehung. , 1. für mit Beziehung, wie Sie vorschlagen, dass ich Ihrem Code folgte, bekomme ich die Ergebnismenge. Aber ich kann den Joined-Ergebnissatz nicht sehen. für den zweiten Ansatz möchte ich sagen, dass ich Daten bekomme, aber es war nicht, was ich genau gesucht habe –
Die erste Abfrage gibt Ihnen das 'UserCreditHistory' Objekt mit dem' User' Objekt hydratisiert, da es ein Abruf- ist beitreten (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#joins) – Ocramius
Yup sehr wahr, es ist hydratisiert, also muss ich Schleife durch, um den gewünschten Wert zu erhalten –