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

1

У меня проблема с использованием 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, col 344: Ошибка: ожидаемый литерал, получил "WHERE"

В чем проблема?

Я знаю, что это можно сделать с помощью построителя запросов, но из-за соображений производительности мне нужно получить все сущности по одному запросу базы данных.

  • 0
    Какой движок базы данных вы используете?
  • 0
    Я использую MySQL
Показать ещё 3 комментария
Теги:
doctrine2
createquery

1 ответ

2
Лучший ответ

Проблема заключалась в использовании AND WHERE вместо AND.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню