首页 > 解决方案 > Laravel 重置密码添加 where 条件

问题描述

我为该项目有两个单独的身份验证,一个用于医生(登录、注册和重置)[帐户表],另一个用于患者(客户)(登录、注册和重置)[患者表]。

每个患者都可以使用同一邮件向任何医生(帐户)进行注册。

我已经做了所有的事情,但我的问题是当病人在特定的医生账户中重置他的密码时。Laravel 更改患者表中患者邮件的密码..

我的问题是:如何向 resetPassword 方法添加条件

例如:其中 mail = $mail 和 account_id = $account_id

我成功地覆盖了 sendRequestResetLinkMail 方法

PatientAuth\ForgotPasswordController.php:

    public function sendResetLinkEmail(Request $request)
{
    $this->validate($request, [
        'email' => 'required|email',
    ]);

    $response = $this->broker()->sendResetLink([
        'email'      => $request->input('email'),
        'account_id' => Hashids::decode($request->segment(3)),
    ]);

    return $response == Password::RESET_LINK_SENT
        ? $this->sendResetLinkResponse($response)
        : $this->sendResetLinkFailedResponse($request, $response);
} 

重置密码控制器.php:

class ResetPasswordController extends Controller

{

public function __construct()
{
    $this->middleware('lang');
}

//Client redirect path
protected function redirectTo(Request $request)
{
    return route('WSG.view.home', $request->segments(3));
}
//trait for handling reset Password for patient / client
use ResetsPasswords;
//Show form to patient / client where they can reset password
public function showResetForm(Request $request, $id, $token = null)
{

    $id                  = Hashids::decode($id);

    $main_settings       = WSGeneratorMainSetting::where('account_id', $id)->first();


    return view('doctor_website.layouts.reset',
        [
            'token'         => $token,
            'email'         => $request->email,
            'main_settings' => $main_settings,
        ]
    );
}

protected function credentials(Request $request)
{
    return $request->only(
        'email', 'password', 'password_confirmation', 'account_id' , 'token'
    );
}

//returns Password broker of seller
public function broker()
{
    return Password::broker('clients');
}
//returns authentication guard of seller
protected function guard()
{
    return Auth::guard('client');
}

}

标签: phplaravellaravel-5laravel-5.6

解决方案


推荐阅读