我有一个html href,我想将值传递给控制器方法,但它显示Type error: Too few arguments to function
<li><a href="{{route('sidebarSearch.show',['type'=>$all,'title'=>$title])}}">
<i class="fa fa-chevron-right"></i> all</a></li>
<li><a href="{{route('sidebarSearch.show',['type'=>$paid,'title'=>$title])}}">
<i class="fa fa-chevron-right"></i> paid</a></li>
<li><a href="{{route('sidebarSearch.show',['type'=>$free,'title'=>$title])}}">
<i class="fa fa-chevron-right"></i> free</a></li>
public function show($type,$title)
{
//
}`
答案 0 :(得分:0)
可能你错过了路线声明中的变量。检查路由文件中的路由名称,看代码如下:
Route::get('/sidebarSearch/show/{type}/{title}', 'SidebarSearchController@show')->name('sidebarSearch.show');
同时运行php artisan route:cache
然后php artisan route:list
以检查名称列是否具有使用正确参数声明的sidebarSearch.show。
如果在您的情况下您指的是资源的show方法(索引,创建,存储,更新,显示等),您可以通过仅将上面的路由添加到路径文件来覆盖该方法。
答案 1 :(得分:0)
解决方案基本上是使用link_to_route()或link_to_action()并传递参数。