| 12345678910111213141516171819202122232425262728293031323334 |
- <?php
- namespace App\Repositories\Criterias;
- use KZ2\Repositories\Contracts\RepositoryInterface;
- use KZ2\Repositories\Criteria\Criteria;
- class CommonLimitCriteria extends Criteria
- {
- private $order = [];
- private $limit = 0;
- public function __construct($order = [], $limit = 0)
- {
- $this->order = $order;
- $this->limit = $limit;
- }
- public function apply($model, RepositoryInterface $repository)
- {
- if (!empty($this->order)) {
- foreach ($this->order as $item) {
- $model = $model->orderBy($item[0], $item[1]);
- }
- }
- if (!empty($this->limit)) {
- $model = $model->take($this->limit);
- }
- return $model;
- }
- }
|