Как создать сортировку ссылок, используя нумерацию страниц? - PullRequest
0 голосов
/ 04 июля 2019

Я работаю над простым интернет-магазином. Я показываю разбитый на страницы список товаров на складе и хотел бы создать ссылки, по которым пользователь может щелкнуть, чтобы изменить порядок сортировки товаров (например, сортировка по цене, названию).

Моя индексная функция в 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 что-нибудь, что могло бы помочь мне достичь ожидаемого результата?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...