我想更改laravel auth表的表名和某些列名。
我应该采取什么步骤或在不破坏某些内容的情况下编辑哪些代码?
我以前尝试过此方法,并且注册有效,但登录没有成功。每当我尝试登录时,我都会重定向回到登录页面。
答案 0 :(得分:3)
您可以按照以下给定步骤进行操作:
Authenticatable
email
输入的文本字段名称更改为email_address
。通过上述所有步骤,我们已经准备好查看部分,现在让我们开始自定义 Auth
现在打开 config / auth.php
'model' => App\Account::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
}
现在我们完成所有调整,您可以测试功能。
我已经测试了该功能及其功能,就像魅力一样:)
答案 1 :(得分:2)
您必须在帐户模型中扩展“ 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
],