【问题标题】:Laravel 5.6 Change email field name as username for forgot passwordLaravel 5.6将电子邮件字段名称更改为忘记密码的用户名
【发布时间】:2018-06-06 22:10:23
【问题描述】:

我将忘记密码的电子邮件字段名称更改为用户名。但是当我提交表单时,它显示我出现以下错误。

"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'email' in 'where clause' (SQL: delete from `password_resets` where `email` = example@gmail.com)"

那么我需要在哪个文件中使用用户名更改电子邮件?

【问题讨论】:

    标签: php laravel laravel-5 laravel-5.2 laravel-5.6


    【解决方案1】:
    • 在“auth.passwords.email”视图中将“电子邮件”更改为“用户名”

    在你忘记密码控制器中

    public function sendResetLinkEmail(Request $request)
    {
            $this->validate($request, ['username' => 'required'], ['username.required' => 'Please enter your username.']);
    
             $response = $this->broker()->sendResetLink(
                $request->only('username')
            );
    
            if ($response === Password::RESET_LINK_SENT) {
                return back()->with('status', trans($response));
            }
    
            return back()->withErrors(
                ['email' => trans($response)]
            );
    }
    

    【讨论】:

    • 嗨马苏德哈格宾..我改变了它,但我仍然得到同样的错误。
    • "SQLSTATE[42S22]:找不到列:1054 'where 子句'中的未知列 'email'(SQL:从password_resets 删除email = example@gmail.com)"同样的错误。
    • 你能告诉我提交用户名后删除查询在哪里执行吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 2019-12-06
    • 2022-01-18
    • 2013-03-22
    • 1970-01-01
    • 2015-06-13
    相关资源
    最近更新 更多