使用路由方法时,参数未传递到laravel中的控制器方法 [英] Parameter not being passed to controller method in laravel when using route method

查看:185
本文介绍了使用路由方法时,参数未传递到laravel中的控制器方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆