-1

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

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

我需要显示司机姓名和驾照

4

3 回答 3

0

使用 pluck 您可以填充选择

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

在刀片中

<select name="driver_id">

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

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

   @endforeach

</select>
于 2021-07-06T03:46:05.577 回答
0

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
于 2021-07-06T02:17:39.207 回答
0

您可以通过并在视图文件中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 --']) }}

它将使用占位符创建下拉菜单。

于 2021-07-06T05:17:27.153 回答