Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Doctrine :FetchAll() with limits

I want to make a fetchAll() with limit ? Do you know if it's possible with the entity manager of symfony2 ?

My current code (Fetch all, without limit):

$repository = $this->getDoctrine()->getRepository('MyBundle:Download');
$product    = $repository->findAll();

Thanks you all. Best regards,

EDIT:

$em = $this->getDoctrine()->getRepository('MyBundle:Download');
$ouput = $em->findBy(array(), array('id' => 'DESC'),5);

Return the 5 last rows.

Thanks all.

like image 555
Dimitri Avatar asked Feb 01 '14 14:02

Dimitri


1 Answers

It's often instructive to check the source code.

Doctrine\ORM\EntityRepository 

public function findAll()
{
    return $this->findBy(array());
}
public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
{
    $persister = $this->_em->getUnitOfWork()->getEntityPersister($this->_entityName);

    return $persister->loadAll($criteria, $orderBy, $limit, $offset);
}
like image 147
Cerad Avatar answered Sep 22 '22 14:09

Cerad