1

リレーションシップに対して「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>
4

1 に答える 1