gpt4 book ai didi

php - Laravel 'User' 模型没有 id 列

转载 作者:行者123 更新时间:2023-11-29 06:31:19 26 4
gpt4 key购买 nike

尝试使用用户模型进行 Auth::attempt() 时出现错误,提示我的表中没有“id”列。我在我的表中使用“用户名”字段作为主键,我不想将 int“id”列作为主键。无论如何我可以更改用户模型中的主键列吗?

错误:

enter image description here

我的用户模型:

    <?php

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

use UserTrait, RemindableTrait;

protected $table = 'users';

protected $hidden = array('password', 'remember_token');


public function getRememberToken()
{
return $this->remember_token;
}

public function setRememberToken($remember_token)
{
$this->remember_token = $remember_token;
}

public function getRememberTokenName()
{
return 'remember_token';
}

public function isAdmin()
{
return $this->isAdmin == 1;
}

}

最佳答案

要覆盖用于搜索的主键,您必须在用户模型上定义 primaryKey 属性。

class User extends Eloquent implements UserInterface, RemindableInterface {

use UserTrait, RemindableTrait;

protected $primaryKey = 'username';
...

现在 laravel 将使用用户名列作为主键列。

请参阅下面引用自 laravel 文档的内容。

Note: Eloquent will also assume that each table has a primary key column named id. You may define a primaryKey property to override this convention.

-- Eloquent - Basic Usage

关于php - Laravel 'User' 模型没有 id 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27763020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com