我如何使用 PLUCK 在 SELECT 中显示 table 的两列

How can i show in a SELECT two columns of a table using PLUCK

我正在尝试使用 PLUCK 方法在选择时显示 table 的两列

  $driverItems = Driver::pluck('driverName','id')->toArray();

I need to display the driver name and the Licence

pluck() 将始终创建单个集合数组(对于多列 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 可以填充 select

$driverItems = Driver::pluck('driverName','id')->prepend("---Select---","");

并在 blade

<select name="driver_id">

   @foreach($driverItems as $key=>$value)

       <option value="{{$key}}">{{$value}}</option> 

   @endforeach

</select>

您可以通过 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 --']) }}

它将创建带有占位符的下拉菜单。