Laravel:如何使用 select2.js 更新多个选择选项

Uzz*_*sen 2 html php database laravel eloquent

我想更新我的数据库,但它在选项字段中发送重复的值。

在此输入图像描述

这是我的 HTML 代码:

<select name="size_id[]" multiple="multiple" style="margin-bottom:15px;"
        class="form-control select_multiple">
  @foreach($sizes as $skey=>$sitem)
        @foreach ($product->Sizes as $pkey=>$psize)
                <option value="{{$sitem->id }}"}} @if($sitem->id == $psize->id)selected="selected"@endif>
                    {{ $sitem->name}}+{{$skey}}
                </option>
        @endforeach
    @endforeach
</select>
Run Code Online (Sandbox Code Playgroud)

产品型号:

 public function Sizes()
    {
        return $this->belongsToMany(Size::class,'product_sizes');
    }
Run Code Online (Sandbox Code Playgroud)

尺寸型号:

public function Products()
{
    return $this->belongsToMany(Product::class, 'size_products','product_id','size_id');
}
Run Code Online (Sandbox Code Playgroud)

Olu*_*kin 5

您可以使用 Collections containsStrict来检查它的项目 id 是否等于任何尺寸,如下所示:

<select name="size_id[]" multiple="multiple" style="margin-bottom:15px;"
                                            class="form-control select_multiple">
@foreach($sizes as $skey=>$sitem)                                   
        <option value="{{$sitem->id }}"}} @if($product->Sizes->containsStrict('id', $item->id)) selected="selected" @endif>
        {{ $sitem->name }}+{{ $skey }}
    </option>
 @endforeach                                       
</select>
Run Code Online (Sandbox Code Playgroud)