如何在laravel的blade中使用带数组的optgroup

如何在laravel的blade中使用带数组的optgroup,laravel,laravel-5.3,laravel-blade,Laravel,Laravel 5.3,Laravel Blade,如何在laravel 5.3中的blade中使用带有数组的optgroup 我在我的项目中使用 例如: <select class="form-control select2"> <optgroup label="Top Airport"> <option value="MHD">Mashhad</option> <option value="THR">Tehran</option> </opt

如何在laravel 5.3中的blade中使用带有数组的optgroup

我在我的项目中使用

例如:

<select class="form-control select2">
  <optgroup label="Top Airport">
    <option value="MHD">Mashhad</option>
    <option value="THR">Tehran</option>
  </optgroup>
  <optgroup label="All Airport">
    <option value="MHD">Mashhad</option>
    <option value="THR">Tehran</option>
    <option value="LON">London</option>
    .
    .
    .
  </optgroup>
</select>
index.blade.php
中:

{{ Form::select('from', ['Top Airport' => ['MHD', 'Mashhad', 'THR' => 'Tehran'], 'All Airport' => $airport], null, ['class' => 'form-control select2']) }}

pluck
方法返回
Collection
的实例,而
Form::select()
需要一个数组。您可以在Pull上链接
toArray()
方法以使其工作

$airport = Airport::where('status', 1)->pluck('city', 'iata')->toArray();
或者更好,如果您使用的是PHP7,则使用coalescing操作符。它永远不会失败,即使数据库中没有活动的机场,当它尝试将null转换为数组时,
toArray()
经常发生这种情况

$airport = Airport::where('status', 1)->pluck('city', 'iata')->toArray() ?? [];

有什么问题吗?Form::select()是否没有提供预期的输出?
$airport = Airport::where('status', 1)->pluck('city', 'iata')->toArray() ?? [];