Как убрать из ссылки ?page=1 при возврате на первую страницу пагинации в laravel 5.4?

Пользователь

от wilburn , в категории: PHP , 2 года назад

Как убрать из ссылки ?page=1 при возврате на первую страницу пагинации в laravel 5.4?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от stephania , 2 года назад

@wilburn 

Если вы используете Laravel 5.4 и построили пагинацию, вы можете использовать метод simplePaginate() вместо paginate(), чтобы убрать параметр запроса page при возврате на первую страницу.


Например, вместо использования:

1
$items = DB::table('my_table')->paginate(10);


вы можете использовать:

1
$items = DB::table('my_table')->simplePaginate(10);


Метод simplePaginate() создает пагинацию без параметра запроса page. Когда пользователь возвращается на первую страницу, он все еще будет находиться на той же странице без параметра запроса page.


Кроме того, вы можете использовать метод appends() для установки параметров запроса, которые будут добавлены к ссылкам пагинации. Например:

1
$items = DB::table('my_table')->paginate(10)->appends(['sort' => 'name']);


Это добавит параметр запроса sort=name к ссылкам пагинации, но не будет влиять на параметр запроса page.

Пользователь

от fred , год назад

@wilburn 

Один из способов убрать параметр ?page=1 при возврате на первую страницу пагинации в Laravel 5.4 - это использовать метод без сохранения параметров запроса при построении пагинации.

  1. В контроллере, где строится пагинация, замените метод paginate(10) на метод simplePaginate(10):
1
$items = DB::table('my_table')->simplePaginate(10);


Теперь при возврате на первую страницу пагинации параметр page не будет отображаться в ссылке.

  1. Если вам нужно добавить другие параметры запроса к ссылкам пагинации (кроме параметра page), вы можете использовать метод appends():
1
$items = DB::table('my_table')->paginate(10)->appends(['sort' => 'name']);


Это добавит параметр sort=name к ссылкам пагинации, но не будет влиять на параметр page.


Таким образом, используя метод simplePaginate() и метод appends(), вы можете убрать параметр ?page=1 при возврате на первую страницу пагинации в Laravel 5.4.