Symfony Doctrine QueryException预期文字,得到了“在哪里”

时间:2015-11-17 09:17:03

标签: php symfony doctrine-orm createquery

我在我的存储库类中使用entityManager-> createQuery()时遇到问题。

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:[语法错误]第0行,第344栏:错误:预期文字,得到'在哪里'

问题出在哪里?

我知道可以使用查询构建器来完成,但由于性能原因,我需要通过一个数据库查询来获取所有实体。

1 个答案:

答案 0 :(得分:2)

问题在于使用AND WHERE而不是AND