【发布时间】:2016-04-25 15:07:29
【问题描述】:
我正在使用 Laravel 创建一个网站,我希望使用 Auth 中间件。为了让用户添加多个电子邮件地址和电话号码,以便他们有用于恢复等的备份选项,我将它们存储在与主 users 表不同的表中。
仔细查看身份验证文档并浏览一些用于身份验证的类,我不确定如何指定应从各自的表中检索电子邮件和电话号码,而不是从users表(email_addresses 和 phone_numbers)。
如果有人能告诉我如何设置它,或者至少指出我正确的方向,我将非常感激。不需要把它拼出来,但如果有人知道我需要编辑哪些文件,那会很有帮助。
【问题讨论】:
-
您的用户仍会在
Users表中,对吗?如果是这样,您可以使用 Eloquent Relations 来处理它。 laravel.com/docs/5.2/eloquent-relationships -
@MuhammadKashifAbbasi 是的,用户在
users表中。那么如果我设置了从User到EmailAddress的一对多关系,Auth::attempt(['address' => $email, 'password' => $password])会自动检查两个模型上的“地址”属性吗? -
我认为这是不可能的,因为 laravel 提供的身份验证只使用一张表进行身份验证。我的本意是创建关系,然后编写你自己的实现,比如 trait
AuthenticatesUsers。除了从 laravel 更改 Auth 模块之外,我认为您无能为力
标签: php authentication laravel-5.2