类型错误:函数laravel 5.4的参数太少

时间:2017-07-01 12:03:36

标签: php html laravel-5

我有一个html href,我想将值传递给控制器​​方法,但它显示Type error: Too few arguments to function

HTML

<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)
{


  //
}`

2 个答案:

答案 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()并传递参数。