DDC-23: Limit and offset in QueryBuilder #3001

Closed
doctrinebot opened this Issue Sep 29, 2009 · 4 comments

2 participants

@doctrinebot

Jira issue originally created by user itoijala:

Currently (2.0 Alpha 1) QueryBuilder does not support limit or offset functionality. These were supported in Doctrine 1 and should be added. QueryBuilder's value is significantly lower without these features because simple pagination is not possible. Methods limit($limit) and offset($offset) should be added to QueryBuilder, like in Doctrine 1. Query already has support for limit and offset, so this should not be a large change.

@doctrinebot

Comment created by romanb:

You can set the limit/offset on the query when you're done building it.

$qb = $em->createQueryBuilder();
//.. build your query
$q = $qb->getQuery();
$q->setFirstResult($offset);
$q->setMaxResults($limit);
$result = $q->getResult();

LIMIT/OFFSET is no longer part of DQL.

We may consider adding forwarding methods to QueryBuilder, similar to setParameter() but only if there is some advantage to it. Is there?

@doctrinebot

Comment created by @guilhermeblanco:

Although it's currently possible to be done via Query retrieval, I think Ismo is correct and we should add 2 delegate methods to setFirstResult and setMaxResults.
That would make QueryBuilder more complete and easy to follow the workflow (Query <=> QueryBuilder).

I'm +1 to add it. If you agree, I can implement the patch and attach to next release.

@doctrinebot

Comment created by @guilhermeblanco:

I found this enhancement interesting and implemented this. I committed a patch to support it in trunk, so in next alpha it'll be available.

Changeset: http://trac.doctrine-project.org/changeset/6415

Cheers,

@doctrinebot

Issue was closed with resolution "Fixed"

@doctrinebot doctrinebot added this to the 2.0-ALPHA2 milestone Dec 6, 2015
@doctrinebot doctrinebot closed this Dec 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment