symfony – 通过Doctrine从数据库获取最高ID

在Google上尝试了很多howto之后,我还没有答案.

我想从具有最高ID(ai)的数据库中获取对象.
我知道这一点很简单,但我找不到解决方案.

在数据库中,我有一个具有自动增量ID的实体Syncs.
我需要(最新)对象来检索一个DateTime的值.

(它是通过教义在交响曲中的方式..)

最佳答案
使用MAX函数并获取单个标量结果:

$highest_id = $em->createQueryBuilder()
    ->select('MAX(e.id)')
    ->from('YourBundle:Entity', 'e')
    ->getQuery()
    ->getSingleScalarResult();

要获取最后一个对象,您可以执行以下操作:

$last_entity = $em->createQueryBuilder()
    ->select('e')
    ->from('YourBundle:Entity', 'e')
    ->orderBy('e.id', 'DESC')
    ->setMaxResults(1)
    ->getQuery()
    ->getOneOrNullResult();

转载注明原文:symfony – 通过Doctrine从数据库获取最高ID - 代码日志