Я хочу, чтобы иметь возможность создавать форму, выбрать с помощью 'optgroups' для моих отношений.Преобразование Eloquent Связь в массив для формы :: select()
Этот код работает:
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. Я не хочу, чтобы это сделать, если я могу избежать этого - я хочу, чтобы использовать форму :: выберите() и держать его в чистоте:
<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>
Вы хотите включить метку для каждого OPTGROUP? – Andreyco
Да, я бы - я обновил свой вопрос с дополнительной информацией – Laurence
Можете ли вы разместить объект '$ old_project'? –