两次加入 Symfony2 与 Doctrine (语法错误)


Twice Join in Symfony2 with Doctrine (Syntax Error)

我有表格:

Car(Auto) ->(1:N) Rent (N:1) <- Department(Abteilung)

我想用一个内在的连接来连接它们。在租金是部门和汽车的ID。

如果我执行两次联接,则会出现错误。通过一个加入,它正在工作。为什么?我该如何解决这个问题?

$result = $this->getDoctrine()->getRepository('ChrisKfzBuchungBundle:Rent')
            ->createQueryBuilder('r')
            ->innerJoin('ChrisKfzBuchungBundle:Rent','ChrisKfzBuchungBundle:Auto')
            ->innerJoin('ChrisKfzBuchungBundle:Rent','ChrisKfzBuchungBundle:Abteilung')
            ->where('r.mieteStart >= :date_from')
            ->andWhere('r.mieteEnde <= :date_to')
            ->setParameter('date_from', $date_from)
            ->setParameter('date_to', $date_to)
            ->distinct()
            ->getQuery()->getArrayResult();

[语法错误] 第 0 行,第 129 行:错误:预期文本,得到"JOIN">

谢谢!

这有效,感谢 manix 的帮助。我必须更正连接并使用addSelect(一个未知的命令(。

 $result = $this->getDoctrine()->getRepository('ChrisKfzBuchungBundle:Rent')
            ->createQueryBuilder('r')
            ->addSelect('abteilung')
            ->addSelect('auto')
            ->join('r.auto','auto')
            ->join('r.abteilung','abteilung')
            ->where('r.mieteStart >= :date_from')
            ->andWhere('r.mieteEnde <= :date_to')
            ->setParameter('date_from', $date_from)
            ->setParameter('date_to', $date_to)
            ->distinct()
            ->getQuery()->getArrayResult();