我的项目是关于商店属于许多部分。 创建商店时,会在多选列表中选择(选择)部分,并正确保存值。此外,在编辑信息时,用户可以正确保存更改。问题在于:在编辑形式中,多选对象是清晰的(根本没有选择任何项目),而我们需要根据预先保存的数据设置选项,以便用户可以查看和修改它。
控制器中的我选择这样的列表:
public function edit($id)
{
$data = Shops::with('sections')->where('id', '=', $id)->get();
$sectionslst = Sections::lists('section_name','id');
return View::make('admin.shops.edit')->with('data',$data)
->with('sectionslst', $sectionslst );
}
我以这种方式在我的视图中填充数据
{{Form::label('shop_section','الاقسام') }}
{{ Form::select('shop_sections[]', $sectionslst, array (1, 2), array ('multiple' => 'multiple' ))}}
//I'm using array(1, 2) just to try how it works, but it doesn't, all items still un-selected :-(
答案 0 :(得分:2)
首先,如果您的列表中没有这些ID,您显然无法使用array(1,2)
来测试它。代替:
{{ Form::select('shop_sections[]', $sectionslst, array(13, 14), array ('multiple' => 'multiple' ))}}
现在真正的问题是$data->sections
是一个雄辩的模型集合。但是Form::select
需要一组键。您可以使用lists()
$data->sections->lists('id')