我正在开发与Symfony2中和学说的应用程序,并已被称为表状态在哪里存放地点和日期的书,如:如何只匹配Doctrine中最后更新的记录?
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轻松做到这一点?
任何帮助,非常感谢。
感谢,
拉尔夫