Ресурс 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>
Другие вопросы по тегам