[英]Parameter not being passed to controller method in laravel when using route method
I have the following code in my anchor tag in my laravel application: 我的laravel应用程序的anchor标签中包含以下代码:
<a href="{{ route('showQualityResult' , compact(Session::get('quality-data'))) }}">Submited Quality Check</a>
My route is set to run the following method when clicked on the above link: 单击上面的链接时,我的路线设置为运行以下方法:
public function showQualityResult($qualityData) {
return $qualityData;
// return view('quality-result' , compact($qualityData));
}
Now when i click on the link, i get the following error: 现在,当我单击链接时,出现以下错误:
Why am i getting a Missing argument 1
error when i clearly am passing data as a parameter in the tag like so below: 当我清楚地在标签中传递数据作为参数时,为什么会出现
Missing argument 1
错误,如下所示:
<a href="{{ route('showQualityResult' , compact(Session::get('quality-data'))) }}">Submited Quality Check</a>
Why is the parameter not being passed to the method ? 为什么参数没有传递给方法?
Your route from your previous question: 您从上一个问题出发的路线:
Route::get('/showQualityResult', 'QualityCheckController@showQualityResult');
To pass the parameter, you should define it. 要传递参数,您应该定义它。 So, it'll look like this:
因此,它看起来像这样:
Route::get('showQualityResult/{data}', 'QualityCheckController@showQualityResult');
And showQualityResult()
method should accept it: 并且
showQualityResult()
方法应该接受它:
public function showQualityResult($data)
{
....
I'd recommend you to read the docs to understand how it works. 我建议您阅读文档以了解其工作原理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.