当前位置: 首页 > 知识库问答 >
问题:

Laravel管线不使用参数

南宫建白
2023-03-14

我已经在web上声明了两条laravel路线。php,但面临404错误。

我想访问控制器中的路由参数值,基于此选择,我需要基于参数执行一些处理。

我的网络。PHP代码

Route::group(
        ['namespace' => 'Admin', 'prefix' => 'admin', 'as' => 'admin.', 'middleware' => ['role:admin']],
        function () {
Route::get('transaction-verified/{user-id}/{tran-id}',['uses' => 'ForgotPassTranVerifyController@transaction_verified'])->name('transaction_verified');

});

我的控制器代码

public function transaction_verified($id,$tran_id)
    {
        $user = User::find($id);
        if($user)
        {
            $user->status = 'active';
            $user->save();
            $response = $this->broker()->sendResetLink(
                $user->email
            );
            echo'<pre>'; print_r($response); exit;
            $transaction = ForgotPassFineTransaction::find($tran_id);
            if($transaction)
            {
                $transaction->status = 'valid';
                $transaction->save();
            }
            $this->message = true;
            return redirect(route('admin.transaction-verify'));
        }

这是我对路线的称呼,

return '<a href="' . route('admin.transaction_verified', ['id'=> $row->id, 'tran-id'=> $row->tran_id]) . '" class="btn btn-info btn-rectangle"
                      data-toggle="tooltip" data-original-title="Edit">Send Email</a>

我想访问的路线参数和基于参数有一些任务需要做。但我正面临404错误。我不知道出了什么问题?

共有1个答案

邴兴为
2023-03-14

我可以看到一些问题:

>

  • 根据Laravel文件,路线参数:

    ... 应包含字母字符,并且不能包含-字符。不要使用-字符,而是使用下划线(\ux)。

    因此像{user id}{tran id}这样的参数名将不起作用。将它们更改为(例如){user\u id}{tran\u id}

    您的路由定义在URL中包括以下两个参数:

    .../{user-id}/{tran-id}...
    

    使用route()生成路由时,必须为其指定两个同名参数。但是您的代码给它一个id

    ...['id'=> $row->id, 'tran-id'=> $row->tran_id]...
    

    您需要将该id更改为user id,或者考虑到上述问题,user\u id

  •  类似资料:
    • 我正在使用Laravel5构建一个多语言网站。 我知道,在Laravel中,我可以为如下路线定义: 在中间件中,我可以获取url路径的片段来检测语言并设置当前请求的区域设置。 但我找不到无论如何添加lang参数在默认情况下的路由像folowings: 或者有什么方法可以钩住框架的路由函数来附加默认参数进入所有路线时,我打电话?(ja是之前在中间件中设置的应用程序的当前区域设置) 谢谢

    • 问题内容: 我想定义一个带有参数的路由,该参数将包含一个斜线字符,例如参数在哪里。 如何防止Laravel读取斜线作为下一个route参数的分隔符?因此,我现在有了。 问题答案: 将下面的全部路线添加到您的底部,并记住之后再运行。注意,使用“-> where”来指定参数的可能内容,从而使您能够使用包含斜杠的参数。 而且比起在控制器中,您只需像平常一样处理数据(就像它不包含斜杠一样)。 这应该为您工

    • 我有一个问题,在laravel的新路线不工作,网址显示正确的路线,但几乎好像它没有得到我的路线Web文件只是返回页面没有找到每次。 我尝试过:使用命名路由,移动功能到不同的控制器,清除路由缓存,清除应用缓存,自卸自动加载,确保AllowOveride设置为所有, 网状物php: 控制器: 查看文件名:coursestatistics。刀身php文件结构视图/课程统计 链接至第页: 有人能告诉我是什

    • 我刚刚将homestead laravel安装转移到我自己的vps设置中。 主页(XXX. XXX. XX/公共)一切正常。 但当我点击主页上的ay链接时,它会转到XX。XX。XX。XX/链接而不是XX。XX。XX。XX/公共/链接,正如我所认为的那样。 我有一个本地设置与家园和一个链接像这一个XX。XX。XX。XX/签名,你可以工作得很好。 当我在vps上尝试XXX. XXX. XX/Publi

    • 正如您所知,Laravel 5改变了您调用

    • 本文向大家介绍Python使用plt.boxplot() 参数绘制箱线图,包括了Python使用plt.boxplot() 参数绘制箱线图的使用技巧和注意事项,需要的朋友参考一下 Python 绘制箱线图主要用 matplotlib 库里 pyplot 模块里的 boxplot() 函数。 plt.boxplot() 参数详解 1、示例1 代码 图形 2、 示例 2 代码 图形 以上就是本文的全部