Я работаю над простым интернет-магазином. Я показываю разбитый на страницы список товаров на складе и хотел бы создать ссылки, по которым пользователь может щелкнуть, чтобы изменить порядок сортировки товаров (например, сортировка по цене, названию).
Моя индексная функция в ItemsController (на одной странице есть только один элемент, потому что я хочу видеть ссылки на другие страницы):
function index()
{
// selecting items that are available
$items = Item::whereHas('amount', function($query)
{
$query->where('amount','>',0);
})->paginate(1);
// selecting main_categories for main menu
$main_categories = Category::where('parent_id', null)->get();
return view('home', compact('items', 'main_categories'));
}
В моем «домашнем» виде:
<div id="filter-menu" class="col-12 text-center">
{{ $items->appends(['sort' => 'price'])->render() }}
</div>
@include('partials.product_list')
{{ $items->links() }}
$items->appends(['sort' => 'price'])->render()
просто создает другие кнопки со страницами на выбор, но после щелчка элементы сортируются с использованием столбца price
(к ссылке добавляется e.g. /?sort=price&page=2
). Я хотел бы сделать ссылки, которые изменят порядок сортировки (что-то вроде ссылок сортировки в пагинаторе CakePHP: https://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-sort-links). Есть ли в Laravel что-нибудь, что могло бы помочь мне достичь ожидаемого результата?