我想更改 laravel auth 表的表名和一些列名。
- 将表名从“用户”更改为“帐户”
- 将表列名称从“名称”更改为“用户名”
- 将表列名称从“email”更改为“email_addr”
- 将表列名称从“updated_at”更改为“last_updated_at”
在不破坏某些内容的情况下,我应该采取哪些步骤或编辑哪些代码?
我之前试过这个,注册成功了,但是登录没有。每当我尝试登录时,我都会被重定向回登录页面。
我想更改 laravel auth 表的表名和一些列名。
在不破坏某些内容的情况下,我应该采取哪些步骤或编辑哪些代码?
我之前试过这个,注册成功了,但是登录没有。每当我尝试登录时,我都会被重定向回登录页面。
您可以按照以下给定步骤操作:
Authenticatable
email
输入文本字段名称更改为email_address
.通过以上所有步骤,我们已经准备好查看部分现在让我们开始自定义Auth
现在打开config/auth.php
'model' => App\User::class,
为'model' => App\Account:class
内部providers
数组。现在我们需要在app/Http/Auth/LoginController.php中添加新函数,如下所示:
public function username(){ return 'email_address'; // this string is column of accounts table which we are going use for login }
现在我们完成了所有调整,您可以测试功能。
我已经测试了它的功能和它的魅力:)
您必须在您的帐户模型中扩展“Illuminate\Foundation\Auth\User”。
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Account extends Authenticatable
{
use Notifiable;
//code here
public function getEmailAttribute() {
return $this->email_addr;
}
public function setEmailAttribute($value)
{
$this->attributes['email_addr'] = strtolower($value);
}
}
并更改提供者数组中“config/auth.php”中的配置文件
'users' => [
'driver' => 'eloquent',
'model' => App\Account::class, //replace User to Account
],