2016-12-16 77 views
0

被调用我有我的看法如下代码:错误已laravel

@if(Session::has('quality-data')) 
     <a href="{{ route('showQualityResult' , compact(Session::get('quality-data'))) }}">Submited Quality Check</a> 
    @endif 

现在,当我打开在前端我碰到下面的错误这样的观点:

enter image description here

在一个标签被点击时调用的方法这就是如下:

public function showQualityResult($qualityData) { 
     return $qualityData; 
     // return view('quality-result' , compact($qualityData)); 
    } 

现在,即使我没有点击标签,我仍然收到错误,该函数的参数没有被传递,为什么?

只是一个事实,即我有代码的下方线在我看来:

@if(Session::has('quality-data')) 
      <a href="{{ route('showQualityResult' , compact(Session::get('quality-data'))) }}">Submited Quality Check</a> 
     @endif 

让我的应用程序无法正常工作:(

+0

同样的问题,因为你重复http://stackoverflow.com/questions/41190379/parameter-not-being-passed-to-controller-method-在-laravel-时-使用路由-甲基 – lagbox

回答

2

,我认为你的错误是由于紧凑的使用..这与所需的预期数据不符

事实上,你的路由需要参数data Compact会创建一个数组,其中包含参数中的字符串和值的关联 是Session::get('quality-data')返回'数据'?还有$data存在吗?

所以,你应该写:

@if(Session::has('quality-data')) 
    <a href="{{ route('showQualityResult' , ['data' => Session::get('quality-data')]) }}">Submited Quality Check</a> 
@endif 

If this works ... so, you will be able to simplify the writing.