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

时间:2013-08-20 09:36:10

标签: php forms laravel

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

$feature = Feature::find($id)->update(Input::all());

这适用于除“完成”字段之外的所有字段,该字段是表格中的布尔值,并由编辑表单中的复选框表示。

{{ Form::label('done', 'Done?')}}
{{ Form::checkbox('done',1)}}

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

谢谢。

3 个答案:

答案 0 :(得分:26)

我找到了这个

的解决方法
{{ Form::hidden('done', 0); }}
{{ Form::checkbox('done', 1); }}

答案 1 :(得分:1)

我在保存前快速检查。

if(!Input::get('someCheckbox')) $feature->someCheckbox = 0;

答案 2 :(得分:1)

我知道这是旧的,但我发现这种方式在填写表单数据时效果最好

$myModel->fill(array_merge(['checkBoxName1'=>'0','checkBoxName2'=>'0'], $request->all()));

或者在OP的情况下它会是这样的:

 $feature = Feature::find($id)->update(array_merge(['checkBoxName1'=>'0','checkBoxName2'=>'0'],Input::all()));

我更喜欢添加隐藏字段。