重用Laravel API中的重置密码

时间:2019-03-31 12:54:50

标签: php laravel-5.7

我正在尝试将Laravel(Illuminate \ Foundation \ Auth \ SendsPasswordResetEmails)中的重置密码重用到我正在使用的表单中。

控制器

public function resetPassword($id)
{
    $user = DB::table('users')->where('id', $id)->first();
    SendsPasswordResetEmails::sendResetLinkEmail($user->email);

    return back()->with('success', 'Password has been sent on email.');
}

我得到的错误:

  

非静态方法   照亮\ Foundation \ Auth \ SendsPasswordResetEmails :: sendResetLinkEmail()   不应被静态调用

1 个答案:

答案 0 :(得分:1)

如错误所示,您不应为sendResetLinkEmail函数调用静态方式。您可以使用以下代码:

public function resetPassword($id)
{
        $user = DB::table('users')->where('id', $id)->first();
        $sendResetObject = new SendsPasswordResetEmails();
        $sendResetObject->sendResetLinkEmail($user->email);

        return back()->with('success', 'Password has been sent on email.');
}

希望它对您有帮助。