This is my function where I'm trying to show the User history. For this I need to display the user's current credits along with his credit history.
This is what I am trying to do:
public function getHistory($users) {
$qb = $this->entityManager->createQueryBuilder();
$qb->select(array('a','u'))
->from('CreditEntityUserCreditHistory', 'a')
->leftJoin('UserEntityUser', 'u', DoctrineORMQueryExprJoin::WITH, 'a.user = u.id')
->where("a.user = $users ")
->orderBy('a.created_at', 'DESC');
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
}
However, I get this error :
[Syntax Error] line 0, col 98: Error: Expected DoctrineORMQueryLexer::T_WITH, got 'ON'
Edit: I replaced 'ON' with 'WITH' in the join clause and now what I see is only 1 value from the joined column.
If you have an association on a property pointing to the user (let's say
CreditEntityUserCreditHistory#user
, picked from your example), then the syntax is quite simple:Since you are applying a condition on the joined result here, using a
LEFT JOIN
or simplyJOIN
is the same.If no association is available, then the query looks like following
This will produce a resultset that looks like following: