У меня есть база данных с 2 таблицами, animal
и species
.Для ведения обзора моего частного зоопарка я использую приложение Symfony3.Теперь для очень специфического экспорта мне нужен запрос sql, чтобы вернуть всех животных с датой рождения в определенном диапазоне и определенным именем: Все животные, родившиеся в 2001-2009 годах, например, по имени Вальдемар.
К сожалениюWHERE
условия не работают.Результат содержит всех животных с любой датой рождения и любым именем:
$from = new \DateTime('2001-01-01 00:00:00');
$to = new \DateTime('2010-01-01 00:00:00');
$query = $entityManager->createQuery(
'SELECT c
FROM App\Entity\Animal c
LEFT JOIN App\Entity\Species s
WHERE c.species = s.id
AND c.animalName IS :animalname
AND c.dob BETWEEN :from AND :to
ORDER BY c.dob DESC
')
->setParameter('from', $from)
->setParameter(':animalname', 'Waldemar')
->setParameter('to', $to);
return $query->execute();
Работает только условие WHERE, связанное с JOIN.Как я могу заставить запрос работать как положено?