Как соответствовать только последним обновленным записям в доктрине?

Я разрабатываю приложение с 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

6
задан Ralph 14 September 2011 в 04:47
поделиться