#laravel #laravel-pagination
#laravel #laravel-разбивка на страницы
Вопрос:
Я хочу получать данные по номеру страницы, в обычном режиме, когда мы используем этот код
$jobs = Jobs::paginate(10);
laravel получает данные с помощью параметра GET «страница», определенного в URL,
если наш URL будетhttp://www.example.com/job?page=2
laravel возвращает данные страницы 2
Я хочу сделать это без использования параметра страницы в URL
Я хочу, чтобы вы представили мне что-то вроде этого
$jobs = Jobs::paginate(10,[
'page'=>2
]);
Ответ №1:
Laravel paginator автоматически проверяет значение страницы в строке запроса и использует его для разбивки результатов на страницы. В результате также автоматически генерируются следующие и предыдущие ссылки, которые помогут вам добавлять их напрямую
Метод разбивки на страницы по умолчанию принимает следующие параметры.
public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null);
итак, вы используете вот так
$jobs = Jobs::paginate(5, ['*'], 'page', $pageNumber);
Соглашение по умолчанию
example.com/job?page=2
example.com/job?page=3
Также, если вы используете $jobs->links()
для создания кнопки навигации
Ответ №2:
Определение для paginate
метода является
public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
{
.......
.......
.......
}
Таким образом, вы можете легко изменить его в соответствии с вашими удобными
$jobs = Jobs::paginate(10,['*'],'page',2);
Для получения более подробной информации вы можете проверить Laravel Api
Комментарии:
1. @MahdiClash: Пожалуйста, примите ответ Сетху, он чем-то похож, но он ответил за 20 секунд до моего ответа. Его ответ заслуживает большего, чем мой ответ.