【问题标题】:Laravel query with primary key doesn't work带有主键的 Laravel 查询不起作用
【发布时间】:2015-09-30 20:26:43
【问题描述】:

我有一个用户表,其中 ID 列作为主键。 我在控制器中有这个功能:

public function show($id)
    {
         $items=user::all()->where('ID',$id);
        foreach ($items as $item) 
             echo $item->Name;
    }

这个函数不回显任何东西。如果我像这样从 $id 更改为 $name :$items=user::all()->where('Name',$name); 它会返回应该返回的内容。 ID 是表中的主键,它不是模型中的可填写字段。如果我将 ID 放入可填充数组中,它也不起作用。即使我像这样对 id 进行硬编码 $items=user::all()->where('ID','22');

,它也不起作用

可能是什么问题?

【问题讨论】:

    标签: php laravel-5


    【解决方案1】:

    all() 将运行查询并返回模型集合,而不是您应该先添加where 调用,然后使用get()(或first()

    $items = User::where('ID', $id)->get();
    

    更多信息,请阅读official documentation

    【讨论】:

    • 在没有看到代码的情况下,我对其他查询无话可说。请记住,all() 将从该表中获取包含所有模型的集合。
    猜你喜欢
    • 2017-05-09
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    相关资源
    最近更新 更多