我想用以下代码更新我的模型:
$feature = Feature::find($id)->update(Input::all());
这适用于除"done"字段之外的所有字段,该字段是表中的布尔值,由编辑表单中的复选框表示
{{ Form::label('done', 'Done?')}}
{{ Form::checkbox('done',1)}}
如何使用update和Input:all()处理复选框?
谢谢。
我找到了这个的解决方法
{{ Form::hidden('done', 0); }}
{{ Form::checkbox('done', 1); }}
我在保存之前进行快速检查。
if(!Input::get('someCheckbox')) $feature->someCheckbox = 0;
我知道这是一个旧方法,但我发现这种方法在填写表单数据时效果最好
$myModel->fill(array_merge(['checkBoxName1'=>'0','checkBoxName2'=>'0'], $request->all()));
或者在OP的情况下,它会是这样的:
$feature = Feature::find($id)->update(array_merge(['checkBoxName1'=>'0','checkBoxName2'=>'0'],Input::all()));
比起添加隐藏字段,我更喜欢它。