Laravel Пагинация и сортировка при использовании репозиория

Cx2

Новичок
Подскажите правильно ли добавлять пагинацию и сортировку в репозиторий?
И как это красиво реализовать?
При использовании репозитория с eloquent моделью.

В голову пришло несколько вариантов, но все они кажутся - не очень
PHP:
$criteria = [
'order' => ['date', 'desc'],
'paginate' => 10,
'relations' => ['comments']
];
$models = $someRepo->getMany($criteria);
PHP:
# $where и/или $order могут быть пустыми
$models = $someRepo->getMany($where, $order, $limit, $relations = null);
PHP:
# несколько методов в репозитории
$someRepo->getWhere($where, $relations = null);
$someRepo->getOrdered($order, $relations = null);
$someRepo->getWhereOrdered($where,$order, $relations = null);
# и так далее ...
$someRepo->getWhereOrderedPage($where,$order, $limit $relations = null);
PHP:
$models = $someRepo->orderBy('date')->paginate(10);
Проблема древняя, как мир и наверняка есть готовое хорошее решение.
 
Последнее редактирование:
Сверху