我想询问有关登录Laravel的问题,但以另一种方式:
包含密码但不包含电子邮件的用户信息将存储在users table
中,而email_address将存储在email_addresses table
中,并带有一个名为is_default
的布尔字段。
因此,用户可以有几封电子邮件,但是他只能使用一封is_default
为true
的电子邮件登录。他可以通过个人资料更改默认电子邮件。
因此,如何通过Auth :: login()门面进行登录过程。
我能够通过将信息存储在users table
中并将其email_address and is_default = true
存储在email_addresses table
中来注册用户。
答案 0 :(得分:-1)
可能有点棘手。 Auth::login()
仅需要获取电子邮件和密码,因此,如果您可以诱使模型认为它具有可通过$user->email
访问的电子邮件字段,那么事情将会解决:
public function getEmailAttribute()
{
return DB::table('email_addresses')->whhere('default', 1)->where('user_id', $this->id)->first()->toArray()['email'];
}