Paginator
class Paginator extends Plugin
Paginator
In theory, makes paginating large data sets easier. In theory.
$paginator = new Ceo\Core\ModelHelpers\Paginator(1,2) ->from('Ceo\Core\Models\Foo') ->orderBy('created_at desc') ->where('name = :name:', ['name' => $name]) ->andWhere('type = :type:', ['type' => $type]) ->paginate(); echo json_encode($items);
Methods
__construct(integer $page = 1, integer $limit = 50)
Constructor
setBuilder(QueryBuilder $builder)
Reset the query builder
array
paginate()
Paginate results.
Object
getPagination()
Return the paginator object
Object
getItems()
Return the fetched items
Details
at line line 68
__construct(integer $page = 1, integer $limit = 50)
Constructor
at line line 81
Paginator
setPage(int $page)
Set the page number
at line line 92
Paginator
setLimit(int $limit)
Set return limit
at line line 103
Paginator
setBuilder(QueryBuilder $builder)
Reset the query builder
at line line 129
Paginator
setFilter(callback $filter)
Set the result filter
The filter will be passed the individual result model:
$paginator = new Ceo\Core\ModelHelpers\Paginator(1,2) ->from('Ceo\Core\Models\Foo') ->orderBy('created_at desc') ->where('name = :name:', array('name' => $name)) ->andWhere('type = :type:', array('type' => $type)) ->setFilter(function($model) { return $model->toArray(); }) ->paginate();
at line line 141
array
paginate()
Paginate results.
at line line 190
Object
getPagination()
Return the paginator object
at line line 199
Object
getItems()
Return the fetched items
at line line 212
Paginator
__call(string $f, array $args)
Forward fluent calls for the querybuilder to the actual querybuilder