Я разрабатываю приложение с Symfony2 и доктрином, и иметь таблицу под названием состояние , где я храним место и Дата книги, такие как:
ID | Book | Date | Location
------------------------------------------------
1 | Book_1 | 2011-08-29 | Home
2 | Book_1 | 2011-08-30 | Office
3 | Book_1 | 2011-09-02 | Friend's House
4 | Book_2 | 2011-09-02 | Office
5 | Book_2 | 2011-09-04 | Home
Запись состояния с самой последней датой представляет собой текущий (или последнее известное) местоположение этой книги. В приведенном выше примере Book_1 в настоящее время находится в «Дом друга», а Book_2 находится в «доме».
Следующий код получает любой записи записей, что в какой-то момент было местоположение «дома»:
$em = $this->getEntityManager();
$query = $em->createQuery('SELECT s FROM myBookTestBundle:Status s WHERE s.location=:x')->setParameter('x', 'Home');
$status = $query->getResult();
вместо этого я хотел бы выбрать только те книги, чьи текущие "Дом". В приведенном выше примере это будет только запись ID = 5 (Book_2).
Есть ли способ сделать это легко с DQL?
Любая помощь значительно ценится.
Спасибо,
Ralph