#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, чтобы получить представление о классе разбивки на страницы.