如何使用存储库获取最新条目

问题描述 投票:0回答:3

我陷入了 Doctrine2 的一个非常简单的问题,我不知道如何使用我的 findByDate 方法从存储库中检索实体的最后一个条目。 我无法在 Doctrine 文档或谷歌中找到如何做到这一点......

symfony doctrine-orm doctrine
3个回答
11
投票

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

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

1
投票

尝试:

$date = new \Datetime();

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

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

假设MySQL中该字段存储为

date


0
投票

您可以使用

findBy()
方法并将第二个参数传递给您想要排序的内容。就你的情况说
id
findBy([], ['id' => 'DESC'])
。 我希望它可以帮助其他面临同样问题的人。 简单条件教义查询

© www.soinside.com 2019 - 2024. All rights reserved.