viloveul / pagination
Wrapper for build data pagination
v1.0.2
2019-06-04 22:02 UTC
Requires
- php: ~7.0
This package is auto-updated.
Last update: 2025-03-09 05:47:07 UTC
README
make sure your php version > 7.0
composer require viloveul/pagination
HOW
require __DIR__ . '/vendor/autoload.php'; $parameter = new Viloveul\Pagination\Parameter('search', $_GET); // $paremeter->setConditions([]); // $parameter->setCurrentPage(1); // $parameter->setOrderBy('id'); // $parameter->setSortOrder('asc'); // $parameter->setPageSize(20); $pagination = new Viloveul\Pagination\Builder($parameter); $pagination->with(function ($conditions, $size, $page, $order, $sort) use ($parameter) { $model = new YourUserModelSample(); foreach ($conditions as $key => $value) { $model->where($key, 'LIKE', "%{$value}%"); } // set total results $total = $model->count(); // set result data array $result = $model->orderBy($order, $sort)->skip(($page * $size) - $size)->take($size)->get(); return new Viloveul\Pagination\ResultSet($total, $result->toArray()); }); var_dump($pagination->getMeta()); var_dump($pagination->getData());