Ресурс Laravel дает дополнительный параметр для маршрута
Я пытаюсь получить доступ к функции в контроллере, используя подстановочные знаки в маршруте через вызов get. Маршрут определяется так:
Route::get('/somefunc/{alias1}/{alias2}', 'uses'=>'MyController@myfunction']);
Ссылка маршрута, к которой я пытаюсь получить доступ, определяется здесь:
<a href="{{'somefunc/somealiashere/'.$item->id }}" class="btn btn-primary">{{ __('Click') }}</a>
Но когда я нажимаю на ссылку, у меня появляется дополнительный параметр в маршруте:
items/somefunc/somealiashere/1
из-за предыдущего определения ресурса в web.php.
Как пропустить параметр items в маршруте.
Спасибо.
1 ответ
Решение
Попробуй использовать url()
<a href="{{ url('somefunc/somealiashere/'.$item->id) }}" class="btn btn-primary">{{ __('Click') }}</a>
Еще один способ, который я вам рекомендую, - это дать название маршруту.
Route::get('/somefunc/{alias1}/{alias2}', 'uses'=>'MyController@myfunction'])->name('somefunc');
и назовите это ниже.
<a href="{{ route('somefunc',['alias1'=>'somealiashere','alias2'=>$item->id]) }}" class="btn btn-primary">{{ __('Click') }}</a>