laravel设置选择的选项

时间:2017-08-13 09:02:08

标签: laravel html-select

我有表类别,产品和数据透视表: enter image description here

和控制器:

public function edit($id)
    {   
        $kategoris = Category::all();
        $select = Product::with('categories')->FindorFail($id);
        $idcat = $select->pluck('id');
        //dd($id);

        return view('vendor.adminlte.admineditproduk')
                ->with('kategoris', $kategoris)
                ->with('select', $select)
                ->with('idcat', $idcat);
    }

并选择选项表单:

<select class="form-control" name="kat_id[]" multiple>
   @foreach($kategoris as $value)
   <option value="{{ $value->id }}" {{ i dont know what i must throw here == $value->id }}>{{$value->namekat}}</option>
   @endforeach
</select>

我不知道如何选择选项。

当我使用它时,我收到了错误:

<option value="{{ $value->id }}" {{ $idcat == $value->id ? 'selected="selected"' : '' }}>{{$value->namekat}}</option>
  

类Illuminate \ Support \ Collection的对象无法转换   到int

谁能帮助我?

1 个答案:

答案 0 :(得分:1)

我假设$idcat = $select->pluck('id');是获取产品的类别ID,如果是,您需要将其更改为:

$idcat = $select->categories->pluck('id');

然后,您可以为表单执行以下操作:

<select class="form-control" name="kat_id[]" multiple>
    @foreach($kategoris as $value)
        <option value="{{ $value->id }}" {{ $idcat->contains($value->id) ? 'selected' : '' }}>
            {{$value->namekat}}
        </option>
    @endforeach
</select>

希望这有帮助!