Laravel 如何更改默认的用户表主键?

9
我正在尝试将users表的默认主键从id更改为userId,但是Laravel身份验证机制总是检查users表中的id。例如:

Users::check() 和 Users::attempt()

这些函数总是检查users表的id属性,如何更改Laravel的此行为?
3个回答

7

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

protected $primaryKey = 'userId';

4
您可以在模型中使用以下代码:protected $primaryKey = 'Your_Primary_key';来定义您的主键。
值得注意的是,如果您定义的主键不是整数类型,您还需要添加以下内容:
public $incrementing = false;

否则,该键将被转换为整数。

1
引用块: Eloquent 假定外键应该有一个与 id (或自定义的 $primaryKey) 匹配的值。
段落: 因此,在您的 User 模型中使用
protected $primaryKey = 'userId';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接