Php Laravel:如果电子邮件地址存储在单独的表中,如何通过电子邮件对用户进行身份验证?

Php Laravel:如果电子邮件地址存储在单独的表中,如何通过电子邮件对用户进行身份验证?,php,authentication,laravel-5.2,Php,Authentication,Laravel 5.2,我正在使用Laravel创建一个网站,我希望使用Auth中间件。为了让用户添加多个电子邮件地址和电话号码,这样他们就有了用于恢复等的备份选项,我将它们存储在与主用户表不同的表中 仔细查看身份验证文档并浏览一些用于身份验证的类,我不确定如何指定应从各自的表中检索电子邮件和电话号码,而不是从用户表中检索(电子邮件地址和电话号码) 如果有人能告诉我如何设置,或者至少为我指出正确的方向,我将不胜感激。不需要详细说明,但如果有人知道我需要编辑哪些文件,这将非常有帮助。通过电子邮件从电子邮件表获取您的用户记

我正在使用Laravel创建一个网站,我希望使用Auth中间件。为了让用户添加多个电子邮件地址和电话号码,这样他们就有了用于恢复等的备份选项,我将它们存储在与主
用户
表不同的表中

仔细查看身份验证文档并浏览一些用于身份验证的类,我不确定如何指定应从各自的表中检索电子邮件和电话号码,而不是从
用户
表中检索(
电子邮件地址
电话号码


如果有人能告诉我如何设置,或者至少为我指出正确的方向,我将不胜感激。不需要详细说明,但如果有人知道我需要编辑哪些文件,这将非常有帮助。

通过电子邮件从电子邮件表获取您的用户记录:

$record=Emails::where('email',$email)->first()


当顾客要求一些你从未见过的东西时,就会出现疯狂的情况。无论如何,这给了我们最好的学习方法,我喜欢这类客户

protected function credentials(Request $request)
{
return $request->only('customer_id', 'password', 'dob');
}
并将其插入LoginController.php

我们必须废除另一种策略才能使其发挥作用,那就是validateLogin()。它用于从login.blade.php批准招标

/**
* Validate the user login request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validateLogin(Request $request)
{
$this->validate($request, [ 'customer_id' => 'required|string',
'password' => 'required|string',
'dob' => 'required|date'
]);
}

您可以从

中检查此项,您的用户仍将在
用户表中,对吗?如果是这样的话,你可以与它建立雄辩的关系@MuhammadKashifAbbasi是用户在
users
表中。因此,如果我从
User
EmailAddress
设置一对多关系,
Auth::trunt(['address'=>$email,'password'=>$password])
将自动检查两个模型上的'address'属性?我认为这是不可能的,因为laravel提供的身份验证只使用一个表进行身份验证。我的任务是创建关系,然后编写自己的实现,比如trait
AuthenticatesUsers
。我认为除了从laravelI更改Auth模块之外,您没有其他方法可以做。我认为我必须通过手动身份验证执行类似的操作。谢谢你的回答。:)
/**
* Validate the user login request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validateLogin(Request $request)
{
$this->validate($request, [ 'customer_id' => 'required|string',
'password' => 'required|string',
'dob' => 'required|date'
]);
}