When I use createQuery
it works:
$this->getEntityManager()
->createQuery(
'SELECT e FROM CPBundle:Event e, CPBundle:Player p, CPBundle:EventType et
WHERE e.player = p.id AND e.eventType = et.id';
)
->getResult();
but when I try the same query with createQueryBuilder
it doesn't work:
public function findEventsByParams($params)
{
$qb = $this->getEntityManager()->createQueryBuilder();
$query = $qb->select('e', 'p', 'et')
->from('CPBundle:Event', 'e')
->innerJoin('CPBundle:Player', 'p')
->innerJoin('CPBundle:EventType', 'et')
->where('e.player = p.id')
->andWhere('e.eventType = et.id');
if ($params['username']) {
$qb->andWhere('p.username = :username')
->setParameter('username', $params['username']);
}
//TODO: other params
return $query->getQuery()->getResult();
}
I'm getting this error message:
[Syntax Error] line 0, col 73: Error: Expected Literal, got 'JOIN'