【问题标题】:User::find($id) doesn't work用户::find($id) 不起作用
【发布时间】:2015-04-06 09:17:48
【问题描述】:

当我尝试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 where users.id = 1 限制 1)

但是这个效果很好,返回user_name:

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

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

不知道find()的错误在哪里,谁能帮忙?

【问题讨论】:

    标签: sql laravel models


    【解决方案1】:

    转到User 模型和

    放,

    protected $primaryKey = 'user_id';
    

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

    查看laravel doc here

    【讨论】:

    • 很高兴为您提供帮助:)
    猜你喜欢
    • 2016-09-30
    • 2012-08-30
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2020-02-12
    • 1970-01-01
    相关资源
    最近更新 更多