public function testCreateDataSet_pagination()
 {
     $request = $this->getBaseRequest();
     $request->displayStart = 100;
     $request->displayLength = 10;
     $dataSet = $this->dataSource->createDataSet($request);
     $this->assertEquals(100, $this->qb->getFirstResult());
     $this->assertEquals(10, $this->qb->getMaxResults());
 }
Example #2
0
 /**
  * It is possible to use query builder with additional columns.
  * In this case, only item at index [0] is returned, because
  * it should be an entity object.
  * @return array
  */
 public function getData()
 {
     $data = array();
     // Paginator is better if the query uses ManyToMany associations
     $result = $this->qb->getMaxResults() !== NULL || $this->qb->getFirstResult() !== NULL ? new Paginator($this->getQuery()) : $this->qb->getQuery()->getResult();
     foreach ($result as $item) {
         // Return only entity itself
         $data[] = is_array($item) ? $item[0] : $item;
     }
     return $data;
 }
Example #3
0
 /**
  * It is possible to use query builder with additional columns.
  * In this case, only item at index [0] is returned, because
  * it should be an entity object.
  * @return array
  */
 public function getData()
 {
     // Paginator is better if the query uses ManyToMany associations
     $usePaginator = $this->qb->getMaxResults() !== NULL || $this->qb->getFirstResult() !== NULL;
     $data = array();
     if ($usePaginator) {
         $paginator = new Paginator($this->getQuery());
         // Convert paginator to the array
         foreach ($paginator as $result) {
             // Return only entity itself
             $data[] = is_array($result) ? $result[0] : $result;
         }
     } else {
         foreach ($this->qb->getQuery()->getResult() as $result) {
             // Return only entity itself
             $data[] = is_array($result) ? $result[0] : $result;
         }
     }
     return $data;
 }
 /**
  * {@inheritdoc}
  */
 public function getFirstResult()
 {
     return $this->queryBuilder->getFirstResult();
 }
Example #5
0
 /**
  * @param type $select string podawany do $qb->select np $qb->select('count(*)'[, ...])
  *                     Nalezy podać tylko jeden parametr!!!!!!!!!!!!!!!!
  */
 public function getCount()
 {
     $offset = $this->qb->getFirstResult();
     $this->qb->setFirstResult(null);
     $tmp = call_user_func_array(array($this->qb, 'select'), func_get_args());
     $return = $tmp->getQuery()->getSingleScalarResult();
     $this->qb->setFirstResult($offset);
     return $return;
 }