예제 #1
0
 /**
  * @param Doctrine\ORM\AbstractQuery $query
  */
 public function __construct(AbstractQuery $query)
 {
     $this->result = $query->setMaxResults($query->getMaxResults() + 1)->getResult();
     $this->prevPageOffset = $query->getFirstResult() ? max(0, $query->getFirstResult() - $query->getMaxResults() + 1) : null;
     $this->nextPageOffset = count($this->result) === $query->getMaxResults() ? $query->getMaxResults() + $query->getFirstResult() - 1 : null;
     $this->currentPageOffset = $query->getFirstResult();
     if ($this->nextPageOffset) {
         array_pop($this->result);
     }
 }
예제 #2
0
 public function modifyQuery(AbstractQuery $query)
 {
     if ($this->offset > 0) {
         $query->setFirstResult($this->offset);
     }
     if ($this->limit > 0) {
         $query->setMaxResults($this->limit);
     }
     // Propagate to child specification
     $this->child->modifyQuery($query);
 }