リレーションシップに対して「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() を実行しようとしましたが、それもうまくいきません。
このフォーラムの投稿を見たので、->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>
ps私はそれを避けることができればこれをしたくありません-私は 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>