我在Laravel 5.1中有一个表单,它使用从db表填充的下拉菜单。当表单处于编辑模式时,除了db表中的其他结果之外,我还希望选择与表中已有的id匹配的下拉菜单项。
公司表
array([ 'id' => 1, 'name' => 'ABC Company', 'lead' => 2]);
排行榜
array([
array(['id' => 1, 'lead_name' => 'Yellow Pages']),
array(['id' => 2, 'lead_name' => 'Internet']),
array(['id' => 3, 'lead_name' => 'Other'])
]);
CompanyController.php
public function edit($id)
{
$data = Company::where('id', $id)->first();
$leads = Lead::lists('lead_name', 'id');
return view('company.edit', compact('data', 'leads'));
}
公司/ edit.blade.php
{!! Form::model($data, ['method' => 'PATCH', 'action' => ['CompanyController@update', $data->id], 'class' => 'form-horizontal']) !!}
{!! Form::select('leads', $leads, null, ['class' => 'selectpicker']) !!}
我想要完成的是当我编辑id'1'时,我希望下拉菜单显示id为'2'且值为'Internet',然后显然用户可以选择其他2个选项然后像正常一样更新表格。
除下拉菜单外,是否可以使用模型绑定?目前菜单填充但未选择ID 2。
答案 0 :(得分:1)
1)您是否使用Form::close
正确关闭了表单?
2)您的$leads
数组似乎可能是向后的。它应该不是吗?:
$leads = Lead::lists('id', 'lead_name');