首页 > 解决方案 > Laravel Passport 覆盖主键不起作用

问题描述

  1. 我在用户表中使用user_sk作为主键
  2. 当使用护照进行身份验证时,它不会覆盖模型中的主键
  3. 已经放置的用户模型已保护 $primaryKey = 'user_sk';

它总是显示这样的错误

"message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select * from `users` where `id` = 32 limit 1)"

标签: laravellaravel-7laravel-7.x

解决方案


根据以下问题,这似乎可能是一种关系破坏了您的代码,这不能被标记为重复,因为该问题尚未接受答案。

将以下内容添加到您的User.php模型中,看看是否有帮助。

public function clients() {
    return $this->hasMany(Passport::clientModel(), 'user_id', 'user_sk');
} 

推荐阅读