我正在尝试使用 PLUCK 方法在选择表格时显示两列
$driverItems = Driver::pluck('driverName','id')->toArray();
使用 pluck 您可以填充选择
$driverItems = Driver::pluck('driverName','id')->prepend("---Select---","");
在刀片中
<select name="driver_id">
@foreach($driverItems as $key=>$value)
<option value="{{$key}}">{{$value}}</option>
@endforeach
</select>
pluck()
将始终创建一个集合数组(对于多列采摘,它将是单个对象)。例如,此查询输出可能如下所示:
{
"driverName1": 1,
"driverName2": 2,
}
您可以尝试如下:
$driverItems = Driver::select('driverName','id')->get();
这将输出如下:
[
{
"id": 1,
"driverName": "driverName1"
},
{
"id": 4,
"driverName": "driverName2"
},
]
对于下拉列表,您可以显示如下:
<select >
@foreach($driveItems as $item)
<option id="" value="{{$item.id}}"> {{ $item.driverName }} </option>
@endforeach
您可以通过并在视图文件中pluck()
使用Form Facade来做到这一点。
use Illuminate\Support\Arr;
$data = Driver::get();
$data= Arr::pluck($data, 'driverName','id');
在视图文件中,要创建下拉列表,请使用以下代码:
{{ Form::select('element_name',$data,['class'=>'form-control','id'=>'driver_list','placeholder'=>'-- Select --']) }}
它将使用占位符创建下拉菜单。