User::find($id) 不起作用

User::find($id) doesn't work

当我尝试 User::find($id) 使用此函数获取用户名时:

public function ShowUName()
    {
       $user = User::find(1);
       var_dump($user->user_name);
    }

我收到这个错误:

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

但是这个很好用 return user_name:

public function ShowUName()
    {
        $users = User::where('user_id', '=', 1)->get();

        foreach ($users as $user)
        {
          var_dump($user->user_name);
        }
    }

我不知道find()哪里出错了,谁能帮忙?

转到 User 模型和

放,

protected $primaryKey = 'user_id';

可能是你的 User 模型的主键是 id 默认情况下,如果你没有改变。并且似乎您将 table 中的主键更改为 user_id 因此您需要如上所述指定主键以匹配实际的 table.

勾选 laravel doc here