Symfony 如何使用存储库获取最新条目
我在Doctrine2中遇到了一件非常简单的事情,我不知道如何使用findByDate方法从存储库中检索实体的最后一个条目。 我在条令文档或谷歌中找不到如何做到这一点…试试:Symfony 如何使用存储库获取最新条目,symfony,doctrine-orm,doctrine,Symfony,Doctrine Orm,Doctrine,我在Doctrine2中遇到了一件非常简单的事情,我不知道如何使用findByDate方法从存储库中检索实体的最后一个条目。 我在条令文档或谷歌中找不到如何做到这一点…试试: $date = new \Datetime(); $em = $this->getDoctrine()->getManager(); $lastEntity = $em ->getRepository('MyBundle:Entity')
$date = new \Datetime();
$em = $this->getDoctrine()->getManager();
$lastEntity = $em
->getRepository('MyBundle:Entity')
->findBy(array('date' => $date->format('Y-m-d')));
如果MySQL中的字段存储为
日期
,则必须执行按日期排序的查询,并返回第一个:
class MyEntityRepository extends EntityRepository
{
function getLastEntity() {
return $this->createQueryBuilder('e')->
orderBy('e.date', 'DESC')->
setMaxResults(1)->
getQuery()->
getOneOrNullResult();
}
}
您也可以尝试max(id)功能这是按日期过滤,但我认为OP希望获得最新条目(即按日期描述排序时的第一个结果)。