在Laravel 4中处理Input :: all()中的复选框

Str*_*rnd 8 php forms laravel

我想用以下代码更新我的模型:

$feature = Feature::find($id)->update(Input::all());
Run Code Online (Sandbox Code Playgroud)

这适用于除"done"-field之外的所有字段,该字段是表中的布尔值,并由编辑表单中的复选框表示.

{{ Form::label('done', 'Done?')}}
{{ Form::checkbox('done',1)}}
Run Code Online (Sandbox Code Playgroud)

如何使用update和Input处理复选框:all()?

谢谢.

Str*_*rnd 26

我找到了解决方法

{{ Form::hidden('done', 0); }}
{{ Form::checkbox('done', 1); }}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您在编辑记录时使用Form :: model,这将导致问题(至少在Laravel 5中),因为如果先前将"done"设置为1,模型将自动将隐藏值更改为1.如果您使用`<input type ="hidden"name ="done"value ="0">`它避免了Form :: model覆盖值的任何问题. (3认同)