LengthAwarePaginator свою реализацию добавить через bind ?
По сути можешь https://github.com/laravel/framework/blob/51e910670daeeb2f9bbd80f4ccf8e48c3d0abbdb/src/Illuminate/Database/Concerns/BuildsQueries.php#L382
можно но зачем, обычно пагинация отличается выводом, т.е. подменяется только шаблон, например у меня есть проект, где в разных разделах используются разные варианты шаблонов вывода, которых аж 3 (admin legacy, orchid platform и фронт) а в ServiceProvider разруливается вот так: $this->callAfterResolving('view', function (Factory $factory, Application $app) { if ($app->runningInConsole()) { return; } if (! Request::is(['panel/*', 'admin/*'])) { Paginator::defaultView('core::pagination'); } });
мне для json нужно toArray переопределить
Тебе нужно изменить отображение пагинации в json-е?
мне нужно именно то, что в методе toArray() формируется в LengthAwarePaginator часть полей убрать, часть добавить
Ну а какие костыли? Заэкстень Illuminate\Pagination\LengthAwarePaginator и переопредели метод toArray?
вот только тут не интерфейс а конкретная реализация
Сделай класс свой и заэкстенди
Обсуждают сегодня