Symfony 2 - fetch the last inserted row from table
You could get the latest record by using findBy()
with order by, limit and offset parameters
$results = $repository->findBy(array(),array('id'=>'DESC'),1,0);
- First argument is for filter criteria
- Second argument takes order by criteria
- Third argument is for limit
- Fourth argument sets offset
Note it will return you the results set as array of objects so you can get single object from result as $results[0]
Instead of hacking code where you want to use it, you can also create a repository method and call it when necessary.
/** * Repository method for finding the newest inserted * entry inside the database. Will return the latest * entry when one is existent, otherwise will return * null. * * @return MyTable|null */public function findLastInserted(){ return $this ->createQueryBuilder("e") ->orderBy("id", "DESC") ->setMaxResults(1) ->getQuery() ->getOneOrNullResult();}
References:https://symfony.com/doc/current/doctrine.html#querying-for-objects-the-repository
Please try the below one
$repository = $entityManager->getRepository('AdminBundle:MyTable');$repository->setMaxResults(1)->orderBy('id', 'DESC');$results = $repository->getQuery()->getSingleResult();