我有一个带有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');
可能是什么问题?
答案 0 :(得分:2)
all()
将运行查询并返回模型集合,而您应首先添加where
调用,然后使用get()
(或first()
)
$items = User::where('ID', $id)->get();
有关详情,请参阅official documentation