Laravel 资源为路由提供额外参数

Laravel resource give extra parameter to route

我正在尝试通过 get 调用在路由中使用通配符来访问控制器中的函数。 路由是这样定义的:

Route::get('/somefunc/{alias1}/{alias2}', 'uses'=>'MyController@myfunction']);

我尝试访问的路由 link 定义如下:

<a href="{{'somefunc/somealiashere/'.$item->id }}" class="btn btn-primary">{{ __('Click') }}</a>

但是当我点击 link 时,它在路由中给了我额外的参数:

items/somefunc/somealiashere/1 

因为之前的资源定义在 web.php.

如何跳过路由中的 'items' 参数。

谢谢。

尝试使用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>