Laravel - 如何使用除用户table以外的其他table登录?
Laravel - How to use other table except users table for login?
几年前,我在 Plain PHP 中编写了一个基于 PHP 的 Web 应用程序。现在出于某种原因,我想升级 Laravel 中的那个项目。但是当我想 Laravel 默认身份验证 (由 php artisan make:auth 完成).
时,我遇到了一个问题
因为,旧项目使用user_account来存储用户信息(用户名、密码等),但目前我所知道的,Laravel使用userstable来存储用户信息。
无法将 user_account 重命名为 users 来解决问题。
有什么方法可以在 Laravel 中 user_account 以便 Laravel 在 [=22= 期间使用 table ]登录、注册等..
- 谢谢
我也有这样的问题。我的问题是将数据从 Wordpress 传输到 java spring 引导,问题是用户 table.So 我的解决方案是强制在旧项目(Plain PHP)中加密密码并将其用于laravel 项目。
您可以尝试在您的用户模型中添加以下行(User.php)。
protected $table = 'user_account';
尝试转到 USER 模型并将 table 名称重命名为您想要的名称,添加以下行:
protected $table = 'user_account';
这样我认为您不需要更改很多代码,并且您会将默认的 "users" 名称更改为您的自定义名称。
您还应该能够修改 "protected $fillable" 数组中的字段。但是我不确定所有这些在核心代码中是否有问题。
简单而甜蜜,
转到 User.php 文件(用户模型)
protected $table = 'user_account';
来自 Laravel Eloquent 模型命名约定 documentation:
按照惯例,class 的复数名称 "snake case" 将用作 table 名称,除非明确指定另一个名称。您可以通过在模型上定义 table 属性 来指定自定义 table:
protected $table = 'table_name';
因此,在您的情况下,您可以转到 User
模型并覆盖其默认值(复数名称大小写)table 绑定并定义:
protected $table = 'user_account';
我想这会解决你的问题。
为了实现这个目标,你在很多地方做出了改变。
型号
从 app/User.php
更新用户模型,如果您没有更改默认路径
protected $table = 'users';
控制器
在 RegisterContoller
上,您需要更新验证规则,它会检查唯一的电子邮件。
几年前,我在 Plain PHP 中编写了一个基于 PHP 的 Web 应用程序。现在出于某种原因,我想升级 Laravel 中的那个项目。但是当我想 Laravel 默认身份验证 (由 php artisan make:auth 完成).
时,我遇到了一个问题因为,旧项目使用user_account来存储用户信息(用户名、密码等),但目前我所知道的,Laravel使用userstable来存储用户信息。
无法将 user_account 重命名为 users 来解决问题。
有什么方法可以在 Laravel 中 user_account 以便 Laravel 在 [=22= 期间使用 table ]登录、注册等..
- 谢谢
我也有这样的问题。我的问题是将数据从 Wordpress 传输到 java spring 引导,问题是用户 table.So 我的解决方案是强制在旧项目(Plain PHP)中加密密码并将其用于laravel 项目。
您可以尝试在您的用户模型中添加以下行(User.php)。
protected $table = 'user_account';
尝试转到 USER 模型并将 table 名称重命名为您想要的名称,添加以下行:
protected $table = 'user_account';
这样我认为您不需要更改很多代码,并且您会将默认的 "users" 名称更改为您的自定义名称。
您还应该能够修改 "protected $fillable" 数组中的字段。但是我不确定所有这些在核心代码中是否有问题。
简单而甜蜜, 转到 User.php 文件(用户模型)
protected $table = 'user_account';
来自 Laravel Eloquent 模型命名约定 documentation:
按照惯例,class 的复数名称 "snake case" 将用作 table 名称,除非明确指定另一个名称。您可以通过在模型上定义 table 属性 来指定自定义 table:
protected $table = 'table_name';
因此,在您的情况下,您可以转到 User
模型并覆盖其默认值(复数名称大小写)table 绑定并定义:
protected $table = 'user_account';
我想这会解决你的问题。
为了实现这个目标,你在很多地方做出了改变。
型号
从 app/User.php
更新用户模型,如果您没有更改默认路径
protected $table = 'users';
控制器
在 RegisterContoller
上,您需要更新验证规则,它会检查唯一的电子邮件。