使用主键的Laravel查询不起作用

时间:2015-07-12 14:14:44

标签: php laravel-5

我有一个带有ID列的用户表作为主键。 我在Controller中有这个功能:

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放在可填充数组中,它也不起作用。即使我像这样$items=user::all()->where('ID','22');

对id进行硬编码,它也不起作用

可能是什么问题?

1 个答案:

答案 0 :(得分:2)

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

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

有关详情,请参阅official documentation