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

时间:2015-02-06 09:15:56

标签: sql laravel models

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

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

我收到此错误:

  

SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'users.id'(SQL:select * from users其中usersid = 1限制1)

但这个很好用并返回user_name

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

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

我不知道find()的错误在哪里,任何人都可以提供帮助?

1 个答案:

答案 0 :(得分:0)

转到User模型和

放,

protected $primaryKey = 'user_id';
如果你没有改变,

可能是你的User模型的主键是id。并且似乎您将表中的主键更改为user_id,因此您需要指定上面的主键以匹配实际表。

检查laravel doc here