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

Joh*_*Doe 21 symfony doctrine-orm

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

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

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

(顺便说一句,它是通过Doctrine的Symfony ..)

Vis*_*ioN 33

使用MAX函数并获取单个标量结果:

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

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

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

  • 伙计们,你们不要在控制器中写入查询,加油!创建存储库类. (5认同)