使用路由方法时,参数未传递到laravel中的控制器方法 [英] Parameter not being passed to controller method in laravel when using route method
问题描述
我的laravel应用程序的定位标记中包含以下代码:
I have the following code in my anchor tag in my laravel application:
<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:
当我明显将数据作为参数传递给标记时,为什么会出现Missing argument 1
错误,如下所示:
Why am i getting a Missing argument 1
error when i clearly am passing data as a parameter in the tag like so below:
<a href="{{ route('showQualityResult' , compact(Session::get('quality-data'))) }}">Submited Quality Check</a>
为什么参数没有传递给方法?
Why is the parameter not being passed to the method ?
推荐答案
您上一个问题的路线:
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');
并且showQualityResult()
方法应该接受它:
public function showQualityResult($data)
{
....
我建议您阅读文档以了解其操作方式有效.
I'd recommend you to read the docs to understand how it works.
这篇关于使用路由方法时,参数未传递到laravel中的控制器方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!