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