我想使用内部Join为我的表auto和rent('s')。它是一个1:N的关系。如果我使用->innerJoin('s', 'a')
,则会出现以下错误:
[语义错误]第0行,第62页附近的a,ChrisKfzBuchungBundle:自动':错误:未定义类''。
$repo = $this->getDoctrine()->getRepository('ChrisKfzBuchungBundle:Rent');
$qb = $repo->createQueryBuilder('s');
$qb->from('ChrisKfzBuchungBundle:Auto', 'a')
->where('s.mieteStart >= :date_from')
->andWhere('s.mieteEnde <= :date_to')
->setParameter('date_from', $date_from)
->setParameter('date_to', $date_to);
如何使用queryBuilder加入一个或多个表?
答案 0 :(得分:1)
有这样的方法,对我而言,它只是在两个实体之间配置了关系。以下是两个有效的例子:
左连接:
$query = $repo->createQueryBuilder('s')
->leftJoin(ChrisKfzBuchungBundle:Auto', 'a', 'WITH', 's.id = a.yourJoinCOlumn')
...
内部联接:
$query = $repo->createQueryBuilder('s')
->select('s, a')
->innerJoin('s.yourJoinColumn', 'a')
...