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

setPage(int $page)

Set the page number

setLimit(int $limit)

Set return limit

setBuilder(QueryBuilder $builder)

Reset the query builder

setFilter(callback $filter)

Set the result filter

array
paginate()

Paginate results.

Object
getPagination()

Return the paginator object

Object
getItems()

Return the fetched items

__call(string $f, array $args)

Forward fluent calls for the querybuilder to the actual querybuilder

Details

at line line 68
__construct(integer $page = 1, integer $limit = 50)

Constructor

Parameters

integer $page page number
integer $limit return limit

at line line 81
Paginator setPage(int $page)

Set the page number

Parameters

int $page page

Return Value

Paginator

at line line 92
Paginator setLimit(int $limit)

Set return limit

Parameters

int $limit

Return Value

Paginator

at line line 103
Paginator setBuilder(QueryBuilder $builder)

Reset the query builder

Parameters

QueryBuilder $builder

Return Value

Paginator

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();

Parameters

callback $filter

Return Value

Paginator

at line line 141
array paginate()

Paginate results.

Return Value

array

at line line 190
Object getPagination()

Return the paginator object

Return Value

Object

at line line 199
Object getItems()

Return the fetched items

Return Value

Object

at line line 212
Paginator __call(string $f, array $args)

Forward fluent calls for the querybuilder to the actual querybuilder

Parameters

string $f method name
array $args arguments

Return Value

Paginator