Laravel-如何使用用户表以外的其他表进行登录?

时间:2019-07-17 09:10:15

标签: php laravel laravel-5.8

几年前,我在普通PHP 中编写了一个基于PHP的Web应用程序。现在由于某种原因,我想在 Laravel 中升级该项目。但是当我想要Laravel默认身份验证(由php artisan make:auth完成)时,我遇到了一个问题。

因为,旧项目使用 user_account 存储用户信息(用户名,密码等),但是到目前为止,我所知道的Laravel使用 users 表来存储用户信息。

无法将 user_account 重命名为 users 来解决此问题。

在Laravel中是否有任何方法可以 user_account ,以便Laravel在登录注册等期间使用该表。 >

  • 谢谢

6 个答案:

答案 0 :(得分:2)

您可以尝试在用户模型(User.php)中添加以下行。

protected $table = 'user_account';

答案 1 :(得分:1)

简单而甜蜜, 转到User.php文件(用户模型)

protected $table = 'user_account';

答案 2 :(得分:1)

根据Laravel雄辩的模型命名约定documentation

按照惯例,除非明确指定其他名称,否则将使用“蛇形”,类的复数名称作为表名称。您可以通过在模型上定义表格属性来指定自定义表格:

protected $table = 'table_name';

因此,在您的情况下,您可以转到User模型并覆盖其默认表(表名)(表名)并定义:

protected $table = 'user_account';

我认为这可以解决您的问题。

答案 3 :(得分:1)

您需要在许多地方进行更改才能实现此目标。

型号

如果尚未更改默认路径,请从app/User.php更新用户模型

protected $table = 'users';

控制器

RegisterContoller上,您需要更新验证规则,以在其中检查唯一电子邮件。

答案 4 :(得分:0)

我有同样的问题。我的问题是将数据从Wordpress传输到Java spring boot,问题是用户表。因此,我的解决方案是强制在旧项目(纯PHP)中加密密码,并在laravel项目中使用它。

答案 5 :(得分:0)

尝试转到USER模型,并将表名重命名为所需名称,并添加以下行:

protected $table = 'user_account';

这样,我认为您不需要更改太多代码,您将默认的“用户”名称更改为自定义名称。

您还应该能够修改“ protected $ fillable”数组中的字段。但是我不确定所有这些在核心代码中是否都存在问题。