I have some problems with Doctrine. Im trying to do a leftJoin, following this question: How to do left join in Doctrine?
Here is my query:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb
->select('a', 'u')
->from('Application\Entity\Event', 'a')
->leftJoin(
'Application\Entity\Venue',
'u',
\Doctrine\ORM\Query\Expr\Join::WITH,
'a.venue_id = u.id'
)
->orderBy('a.event_datetime', 'DESC');
var_dump($qb->getQuery()->getResult());
And here are the results:
array (size=4)
0 =>
object(Application\Entity\Event)[483]
protected 'id' => int 8
protected 'artist_id' => int 4
protected 'venue_id' => int 1246
protected 'name' => string 'Vlasta Redl' (length=11)
1 =>
object(Application\Entity\Venue)[477]
protected 'id' => int 1246
protected 'name' => string 'Malostranská beseda' (length=20)
...
2 =>
object(Application\Entity\Event)[468]
protected 'id' => int 7
protected 'artist_id' => int 3
protected 'venue_id' => int 761
protected 'name' => string 'Positive Mind' (length=13)
3 =>
object(Application\Entity\Venue)[485]
protected 'id' => int 761
protected 'name' => string 'Divadlo pod lampou' (length=18)
....
This is an array of different objects. Events and Venues.
But I'm expecting such result:
array(
array(
0 => Event
1 => Venue,
),
array(
0 => Event
1 => Venue,
),
// ...
)
What am I doing wrong?