DOCTRINE 2 – nastavení LIMIT (setMaxResults)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- Joacim
 - Člen | 229
 
Zdravím, nevím co dělám špatně, ale potřeboval bych nastavit LIMIT pro
DB příkaz (např jen 10 řádků), ale použití
$qb->setMaxResults($limit); nemá žádný vliv
UserFacade
    public function getLastUserLoginInfo(User $user, $limit) {
        $query = new UserLoginInfoListQuery();
        $query->whereUserId($user->id)->orderById('DESC')->setLimit($limit);
        return $this->em->getRepository(UserLoginInfo::class)->fetch($query);
    }
UserLoginInfoListQuery
class UserLoginInfoListQuery extends QueryObject {
    private $filters = array();
    public function doCreateQuery(Queryable $repository) {
        $qb = $repository->createQueryBuilder()
                ->select("uli")
                ->from(UserLoginInfo::class, "uli");
        foreach ($this->filters as $filter)
            $filter($qb);
        return $qb;
    }
    public function setLimit($limit = 10) {
        $this->filters[] = function (QueryBuilder $qb) use ($limit) {
            $qb->setMaxResults($limit);
        };
        return $this;
    }
	...........
}
				
- David Matějka
 - Moderator | 6445
 
QueryObject zahazuje setMaxResults: https://github.com/…ryObject.php#L165
vyuzij applyPaging na vracenem result setu: https://github.com/…resultset.md#…

- Joacim
 - Člen | 229
 
David Matějka napsal(a):
QueryObject zahazuje setMaxResults: https://github.com/…ryObject.php#L165
vyuzij applyPaging na vracenem result setu: https://github.com/…resultset.md#…
Super, díky moc