Маршрутизатор Laravel с дополнительными параметрами - PullRequest
0 голосов
/ 05 мая 2018

У меня есть контроллер, который звонил по этому маршруту website.lrv/products/{category-url}

public function categoryProducts($uri, Request $request) { /** some code **/ }

У меня есть несколько ссылок, которые отвечают за заказ товаров, я добавил их прямо в шаблон блэйда, например:

route('client.category.products', [ 'url' => Route::current()->url, 'order' => 'article', 'by' => 'desc' ])

route('client.category.products', [ 'url' => Route::current()->url, 'order' => 'article', 'by' => 'asc' ])

А ссылка на запрос с заказом: website.com/products/chargers?order=name&by=asc

Теперь я хочу добавить фильтры продуктов. У меня много фильтров, каждый фильтр может содержать много значений. Проблема в том, что я не знаю, как сделать маршрут, чтобы получить что-то подобное: website.com/products/chargers?width=10,20,30&height=90,120,150 или что-то в этом роде.

Мне нужно получить массив запросов так:

$request = [
    ....
    filters => [
        width  => ['10','20','30'],
        height => ['90','120','150'],
    ],
    ....

];`

Если вам нужна дополнительная информация, я отредактирую свой вопрос.

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Вы можете получить доступ к искомому массиву, используя $request->query() в функции categoryProducts.

Редактировать: Также стоит отметить, что вы можете получить к ним доступ из своего шаблона лезвия, используя вспомогательную функцию Laravel request(), поэтому {{ request()->query('width') }} вернет xx, где website.lrv/products/category?width=xx.

Редактировать 2: Обратите внимание, что если ваша строка запроса включает запятые для вашего примера width=10,20,30 query () просто возвратит строку, разделенную запятыми, поэтому вам нужно будет explode(',',$request->query('width')), чтобы получить массив ширин

0 голосов
/ 05 мая 2018

Я думаю, вы должны добавить их вручную следующим образом: . Маршрут ( 'client.category.products') "? Порядок = имя и по = Asc"; Попробуйте это, я надеюсь, это поможет.

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