多个连接不能与createQueryBuilder一起使用

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'

See this answer: https://stackoverflow.com/questions/17989473/symfony2-doctrine-multiple-joins-returns-error

public function findEventsByParams($params)
{
    $qb = $this->getEntityManager()->createQueryBuilder();

    $query = $qb->select('e')
        ->from('CPBundle:Event', 'e')
        ->innerJoin('e.player', 'p')
        ->innerJoin('e.eventType', 'et');

    if ($params['username']) {
        $qb->andWhere('p.username = :username')
            ->setParameter('username', $params['username']);
    }

    //TODO: other params

    return $query->getQuery()->getResult();
}