8

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

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

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

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

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

谢谢你。

4

3 回答 3

26

我找到了解决方法

{{ Form::hidden('done', 0); }}
{{ Form::checkbox('done', 1); }}
于 2013-08-20T10:16:53.993 回答
1

在保存之前我正在快速检查。

if(!Input::get('someCheckbox')) $feature->someCheckbox = 0;
于 2015-03-03T16:08:35.500 回答
1

I know this is old one, but i found this way works best when filling form data

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

or in case of the OP it would be like this:

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

I just like it way more than adding a hidden field.

于 2017-02-07T19:48:46.690 回答