コード例 #1
0
 /**
  * Returns a Page of entities meeting the paging restriction provided in the Pageable object.
  *
  * @param Pageable $pageable
  *
  * @return Page
  */
 public function findAll(Pageable $pageable = null) : Page
 {
     if (null === $pageable) {
         return new ResultPage($this->data, count($this->data), 1, 1);
     }
     $results = $this->findBy($pageable->filters(), $pageable->sortings());
     if (0 !== count($pageable->distinctFields()->get())) {
         $results = $this->resultsWithDistinctFieldsOnly($pageable->distinctFields(), $results);
     }
     $pageSize = $pageable->pageSize() ? $pageable->pageSize() : 1;
     return new ResultPage(array_slice($results, $pageable->offset() - $pageable->pageSize(), $pageable->pageSize()), count($results), $pageable->pageNumber(), ceil(count($results) / $pageSize));
 }