我尝试更新记录,因此使用save()
方法,但记录无法在数据库中更新。
这是我的代码:
public function update(Request $request, $id)
{
$rules = [
'email' => 'required|email',
'firstname' => 'required',
'lastname' => 'required'
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
} else {
$a = Users::find($id)->save($request->all());
}
return redirect()->to('admin/users/'.$id);
}
有什么问题?
P.S:创建方法没有问题。
答案 0 :(得分:2)
改为使用update()
方法:
Users::where('id', $id)->update($request->except(['_method', '_token']));
或尝试使用fill()
手动填充数据:
$a = Users::find($id)->fill($request->all())->save();
在这两种情况下,您都在使用mass assignment,因此请将您尝试更新的所有属性添加到$fillable
数组中。