【发布时间】:2013-08-22 07:21:33
【问题描述】:
我想用以下代码更新我的模型:
$feature = Feature::find($id)->update(Input::all());
这适用于除“完成”字段之外的所有字段,“完成”字段是表中的布尔值,由编辑表单中的复选框表示。
{{ Form::label('done', 'Done?')}}
{{ Form::checkbox('done',1)}}
如何使用 update 和 Input:all() 处理复选框?
谢谢。
【问题讨论】:
-
我建议你避免使用
Input::all()。这样,您就允许任何对 HTML 了解最少的人更新在您的模型上不应编辑的字段。即使你在你的模型上定义$accessible,也太冒险了。 -
感谢您的建议。我将只对那些用户可以编辑的模型使用
Input:all()。因此,不应由用户编辑的属性将受到保护。 -
在使用 Input::all() 时,在模型中使用 $fillable 数组是个好主意。来自文档:“可填充属性指定哪些属性应该是可批量分配的。这可以在类或实例级别设置。可填充的反面受到保护,并用作“黑名单”而不是白名单。”