%PDF- %PDF-
Direktori : /var/www/html/news/app/Repositories/Base/Criteria/ |
Current File : /var/www/html/news/app/Repositories/Base/Criteria/OrderByCriteria.php |
<?php namespace App\Repositories\Base\Criteria; use Illuminate\Database\Eloquent\Builder as EloquentBuilder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Query\Builder as DatabaseBuilder; use Watson\Rememberable\Query\Builder as RememberableBuilder; /** * Class OrderByCriteria */ class OrderByCriteria extends BaseCriteria { /** * @param Model|DatabaseBuilder|EloquentBuilder|RememberableBuilder $model * * @return mixed */ protected function applyToQuery($model) { if ($this->request->has('orderBy')) { $orderable = explode(",", $this->request->get('orderBy')); foreach ($orderable as $value) { $q = explode(":", $value); $key = $q[0]; try { $order = $q[1]; if ($order != 'asc' && $order != 'desc') { $order = 'asc'; } } catch (\Exception $e) { $order = 'asc'; } $model = $model->orderBy($key, $order); } } return $model; } }