Признак / область для моего пользовательского метода разбиения laravel на страницы

#php #laravel

#php #laravel

Вопрос:

Я хочу реализовать свою собственную разбивку на страницы для vue и laravel, вместо использования get, подобного laravel, я хочу использовать запросы POST ajax из моего пользовательского компонента разбиения на страницы vue.

Для этого я хочу реализовать что-то похожее на область, которую я могу применить к своим моделям Eloquent, я хочу, чтобы эта область возвращала общее количество записей из моей модели в базе данных и определенное количество записей вместе с ней.

С помощью этих двух данных я могу увлажнить свой компонент разбивки на страницы, поскольку я не совсем уверен, как подойти к этому (использовать признак?, область действия?, вернуть JSON? или, может быть, коллекция?) Я оставляю свой псевдокод ниже:

 public function scopeGetPaginate($query, $perPage)
    {

        $pageResults = $query->take($perPage)->get();

        $totalResults = Model::count();

        return response()->json([
            'pageResults' => $pageResults,
            'totalResults' => totalResults,
        ], 200);
    }
  

Ответ №1:

Я не могу понять, почему вы собираетесь внедрять пользовательскую разбивку на страницы вместо использования опции разбиения на страницы Laravel.вот так

 $users = User::where('votes', '>', 100)->paginate(15);
  

Документ разбиения Laravel на страницы

Однако, если вы действительно хотите создать пользовательскую разбивку на страницы, вы можете обратиться к API разбиения на страницы Laravel, чтобы получить представление о классе разбивки на страницы.

Ссылка на API-интерфейс Laravel Paginator