如何使用Repository获取最近的条目

时间:2015-07-27 14:53:24

标签: symfony doctrine-orm doctrine

我对Doctrine2很困难,我无法弄清楚如何使用我的findByDate方法从存储库中检索实体的最后一个条目。 我无法在Doctrine文档或谷歌中找到如何做到这一点......

2 个答案:

答案 0 :(得分:9)

您必须执行按日期排序的查询,并返回第一个:

class MyEntityRepository extends EntityRepository
{
  function getLastEntity() {
    return $this->createQueryBuilder('e')->
       orderBy('e.date', 'DESC')->
       setMaxResults(1)->
       getQuery()->
       getOneOrNullResult();      
  }
}

答案 1 :(得分:1)

尝试:

$date = new \Datetime();

$em = $this->getDoctrine()->getManager();

$lastEntity = $em
                 ->getRepository('MyBundle:Entity')
                 ->findBy(array('date' => $date->format('Y-m-d')));

假设MySQL中的字段存储为date