Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在编辑模式下使用laravel数组表单复选框_Php_Mysql_Laravel 4 - Fatal编程技术网

Php 在编辑模式下使用laravel数组表单复选框

Php 在编辑模式下使用laravel数组表单复选框,php,mysql,laravel-4,Php,Mysql,Laravel 4,这是示例表单代码: {{Form::checkbox('selection[]', '1')}} {{Form::checkbox('selection[]', '2')}} {{Form::checkbox('selection[]', '3')}} {{Form::checkbox('selection[]', '4')}} 这是保存的示例代码: $selection = json_encode(Input::get('selection')); 然后将其保存到“selection”列中

这是示例表单代码:

{{Form::checkbox('selection[]', '1')}}
{{Form::checkbox('selection[]', '2')}}
{{Form::checkbox('selection[]', '3')}}
{{Form::checkbox('selection[]', '4')}}
这是保存的示例代码:

$selection = json_encode(Input::get('selection'));
然后将其保存到“selection”列中的MySQL表中

那么现在,如何将数据检索到表单编辑模式中呢

谢谢

$selections = json_decode($selectionFieldFromDB); // pass it to the view

// then just:
@foreach (range(1,4) as $i)
 {{ Form::checkbox('selection[]', $i, in_array($i, $selections)) }}
@endforeach
请注意,如果您的模型选择中有一个属性,那么Laravel将忽略in_数组部分,因为它首先检查绑定对象上的值


因此,如果您希望它像我建议的那样工作,请不要在复选框中使用选择名称(如果这是模型属性的名称)。

谢谢您的回答。但我发现一个问题,当数据库表中的selection字段获得值时,所有selection[]复选框都将被选中。我怎样才能克服这个问题?你错了,只有来自db的才会被选中,所以请展示你的代码。我相信我没有错。你可以试试看。即使使用非数组复选框,复选框的选择也取决于数据库。无论我将它设置为选中还是不选中,它都将在编辑模式下被忽略。我已经尝试过了,相信我,它是有效的。显示你的代码,否则我帮不了你。除非你不希望它依赖于DB条目,我无法想象。嗨,这是我在另一篇文章中的代码:。希望你能帮忙看看这个问题。非常感谢