Метод paginate
в Подсветка / База данных / Eloquent / Builder имеет следующую подпись:
public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
Пока у вас есть page=n
(n для числа> 0, т.е.: page = 2) в вашем URL (строка запроса), вам не нужно передавать номер страницы в методе paginate
. Если вы хотите, вы можете сделать это следующим образом:
$users = User::paginate(
10, // per page (may be get it from request)
['*'], // columns to select from table (default *, means all fields)
'page', // page name that holds the page number in the query string
10 // current page, default 1
);
FYI, Laravel
разрешает текущую страницу, используя метод Illuminate / Pagination / AbstractPaginator :: resolCurrentPage , который (resolver) был установлен в Метод Illuminate / Pagination / PaginationServiceProvider :: currentPageResolver при регистрации поставщика услуг.
В случае, если вы не знаете, вы также можете опустить perPage
, потому что по умолчанию Laravel
порций по 15
записям, и это настроено в базовой модели, и вы можете переопределить его в своей модели, используя:
protected $perPage = 10;
Итак, вы можете просто использовать User::paginate()
, что даст вам 10
предметов / на страницу.
Примечание: ссылки на API даны для 5.6
, но в этом случае это то же самое в более высоких версиях (AFAIK).