Doctrine :FetchAll() with limits

2019-04-20 00:43发布

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.

1条回答
唯我独甜
2楼-- · 2019-04-20 01:33

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);
}
查看更多
登录 后发表回答