Symfony Doctrine QueryException 预期文字,得到 'WHERE'
Symfony Doctrine QueryException Expected Literal, got 'WHERE'
我在使用存储库中的 entityManager->createQuery() 时遇到问题 class。
public function findAllByDateAndUser( \DateTime $from, \DateTime $to, User $user ) {
return $this->getEntityManager()->createQuery(
'SELECT wu, a, ai
FROM ArpanetCompanyWorkBundle:WorkerUsage wu
JOIN ArpanetCompanyWorkBundle:AttendanceItem ai WITH ( wu.attendanceItem = ai )
JOIN ArpanetCompanyWorkBundle:Attendance a WITH ( ai.attendance = a )
WHERE wu.user = :userP
AND WHERE a.date >= :fromP
AND WHERE a.date <= :toP'
)
->setParameter( 'userP', $user )
->setParameter( 'fromP', $from )
->setParameter( 'toP', $to )
->getResult();
}
我收到一个错误:
[2/2] QueryException: [Syntax Error] line 0, col 344: Error: Expected Literal, got 'WHERE'
问题出在哪里?
我知道这可以通过使用查询生成器来完成,但由于性能原因,我需要通过一个数据库查询来获取所有实体。
问题在于使用 AND WHERE
而不是仅使用 AND
。
我在使用存储库中的 entityManager->createQuery() 时遇到问题 class。
public function findAllByDateAndUser( \DateTime $from, \DateTime $to, User $user ) {
return $this->getEntityManager()->createQuery(
'SELECT wu, a, ai
FROM ArpanetCompanyWorkBundle:WorkerUsage wu
JOIN ArpanetCompanyWorkBundle:AttendanceItem ai WITH ( wu.attendanceItem = ai )
JOIN ArpanetCompanyWorkBundle:Attendance a WITH ( ai.attendance = a )
WHERE wu.user = :userP
AND WHERE a.date >= :fromP
AND WHERE a.date <= :toP'
)
->setParameter( 'userP', $user )
->setParameter( 'fromP', $from )
->setParameter( 'toP', $to )
->getResult();
}
我收到一个错误:
[2/2] QueryException: [Syntax Error] line 0, col 344: Error: Expected Literal, got 'WHERE'
问题出在哪里?
我知道这可以通过使用查询生成器来完成,但由于性能原因,我需要通过一个数据库查询来获取所有实体。
问题在于使用 AND WHERE
而不是仅使用 AND
。