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

时间:2014-12-18 18:09:46

标签: php symfony join doctrine-orm

我有桌子:

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栏:错误:预期文字,得到&#39;加入&#39;

谢谢!

1 个答案:

答案 0 :(得分:1)

这很有效,感谢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();