laravelcollective:向每个选项添加额外的属性(Form :: Select)

时间:2018-09-09 01:58:43

标签: php laravel-5

<select class="form-control" id="user" name="car">
  <option value="0" selected="selected">Select Cars</option>
  <option dta-img='1.jpg' value="134">Volvo</option>
  <option dta-img='2.jpg' value="135">Noah</option>
  <option dta-img='3.jpg' value="136">Marcidis</option>
  <option dta-img='4.jpg' value="143">London Express</option>
</select>

我的选项数组:

public function guardianList()
    {
      $list = ["Select Cars"];
        foreach ($carss->all() as $car) {
            $list[$car->id] =  $car->name;
        }
        return $list;
}

   Form::select('car',$list, null, null);

如何为所有选项添加额外的动态html属性? 我想在jquery select2中显示每个选项的图像前面。为此,我需要从Form :: Select()发送图像。我有没有使用marcos的简便方法?

2 个答案:

答案 0 :(得分:0)

解决了该问题: 在第4个参数中传递数组。

$opt_attributes = collect($guardians->all())
        ->mapWithKeys(function ($item) {
            return [$item->id => ['data-img' => $item->photos->last()->name]];
        })->all();

使一个数组链接此数组并将其作为第4个参数传递。

答案 1 :(得分:0)

我不知道确切从哪个版本开始,但是laravelcollective / html 5.8版本将optionParameters作为第五个参数,而不是第四个