Laravel 有多封电子邮件时如何登录

Laravel 有多封电子邮件时如何登录,laravel,laravel-4.2,Laravel,Laravel 4.2,具有相同的电子邮件id但密码不同 abc@xyz.com => 123456 abc@xyz.com => 987654 我想在匹配电子邮件和密码后登录 if (Auth::attempt($credentials, true)) { //Check first email and password if it does match return true else false } 如何实现这一点,请引导并进行讨论,如果可能的话,请提前大量感谢您可以通过检索给定电子邮件

具有相同的电子邮件id但密码不同

abc@xyz.com => 123456
abc@xyz.com =>  987654
我想在匹配电子邮件和密码后登录

if (Auth::attempt($credentials, true)) {
    //Check first email and password if it does match return true else false
}

如何实现这一点,请引导并进行讨论,如果可能的话,请提前大量感谢

您可以通过检索给定电子邮件的所有用户开始

$users = User::where('email', $request->get('email'))->get();

$users->each(function (User $user) {
    if (\Hash::check($request->get('password'), $user->password)) {
        Auth::login($user);
    }
});

然后你迭代所有用户并自己检查密码。

电子邮件应该是唯一的,不是吗?这背后的逻辑是什么?Hash::make不起作用,而是使用Hash::checkAuth::login似乎不起作用,我们需要为此安装任何东西。@Sachin这取决于您使用的laravel版本。是当前版本的文档。@Sachin给定的对象必须是Lightlight\Contracts\Auth\Authenticatable协定的实现。这句话是最贴切的。我想你只是给了我满意的答案。非常感谢你的时间