Доктрина Symfony QueryException Ожидаемый литерал, получил «ГДЕ»

У меня проблема с использованием 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

Решение

Проблема была в использовании AND WHERE вместо только AND,

2

Другие решения

Других решений пока нет …