Laravel называет маршрут и ссылку - PullRequest
0 голосов
/ 15 октября 2019
Route::get('/products/{page?}', 'ProductController@index')->name('products');
Route::get('/products/{category}/{page?}', 'ProductController@indexCategory')->name('category.products');

У меня есть два маршрута, как это. Когда я вызываю второй маршрут, например:

<a href="{!! route('category.products', ['category' => $category['translation']['en']['slug']]) !!}" class="list-group-item active">

, он вызывает метод @index вместо @ indexCategory.

idk, почему?

Я хочу сделать

ПЕРЕЙДИТЕ К МЕТОДУ ИНДЕКСА

/ продукты, / продукты / 2, продукты / 3

ПЕРЕХОДИТЕ НА ИНДЕКСАТЕЙНЫЙ МЕТОД

/ продукты / новая коллекция, / продукты / новая коллекция / 2, / продукты / новая коллекция / 3

1 Ответ

1 голос
/ 15 октября 2019

Я думаю, вам нужно обновить маршрут следующим образом.

Route::get('/products/{page?}', 'ProductController@index')->name('products');
Route::get('/products-category/{category}/{page?}', 'ProductController@indexCategory')->name('category.products');

Поскольку соглашение об именах противоречит вашему маршруту. поэтому убедитесь, что URL-адрес маршрута уникален.

А затем назовите свой маршрут как:

<a href="{!! route('category.products', ['category' => $category['translation']['en']['slug']]) !!}" class="list-group-item active">

ИЛИ


Если вы не хотите менять маршрутURL, а затем убедитесь, что ваш второй параметр требуется. не обязательно.

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