我希望能够为我的人际关系生成一个带有'optgroups'的表单选择。
此代码有效:
foreach($old_project as $project)
{
foreach ($project->units as $unit)
{
$new_project[$project->name][] = $unit->name;
}
}
然后在我看来:
{{ Form::select('units', $new_project) }}
但它似乎不对。我尝试过$ old_project-> toArray() - 但这也不起作用。
I looked at this forum post - 所以我也尝试过 - > list() - 但我似乎无法让它发挥作用。
在Laravel 4中有更好的方法吗?
编辑:
这是我的最终目标 - 像这样:
<select id="optgroup3" name="unit">
<optgroup label="Project1">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</optgroup>
<optgroup label="Project2">
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</optgroup>
</select>
P.S。如果我能避免它,我不想这样做 - 我想使用Form :: select()并保持干净:
<select id="optgroup3" name="unit">
@foreach($units as $project)
<optgroup label="{{{ $project->name }}}">
@foreach($project->units as $unit)
<option value="{{{ $unit->id }}}">{{{ $unit->name }}}</option>
@endforeach
</optgroup>
@endforeach
</select>
答案 0 :(得分:4)
我认为你所追求的命令实际上是lists()
。尝试:
Project::lists('name', 'id')