我正在使用Laravel 4.2,我使用以下代码获取所有位置:
$locations = Location::all();
之后,此位置将显示在选择框中。如何在结果中添加额外的行,以便在选择框中显示空的第一个选项。
然后选项应该是:
- 选择一个位置
- 位置 1
- 位置 2
- 。
我只想在$locations的结果中添加一个额外的项目。
提前致谢
您可以使用:
{!! Form::select('location', ['' => 'Select your location'] + $locations, null , ['class' => 'form-control']) !!}
以更新视图。在 Laravel 5 中,有一些属性访问器可以将额外的字段附加到您的雄辩集合中。
其他几种方法是:
$locations[null] = 'choose a location'; Form::select('location', $locations);
Form::select('location',[null=>'Please Select'] + $locations);
另一种方法是循环访问结果并更新它。使用 json_decode()
或 'toArray((' 将结果转换为数组格式。
否则,您必须将choose a location
存储为locations
表中的第一行值(我知道这不适合要求(。
您应该查看集合的put
方法:
https://laravel.com/docs/5.6/collections#method-put
此方法在 4.2 中不可用。应创建自定义 Collection 类,并通过覆盖 newCollection
方法在模型中使用它。https://laravel.com/docs/4.2/eloquent#collections