我有两个对象数组,我想检查两个元素的id是否相同,然后在选择框中选择选项,否则只显示它。我试过这样:
<select multiple class="form-control" name="category_id[]">
@foreach($mysliwski as $mysl)
@if(!$product->categories->isEmpty())
@foreach($product->categories as $cat)
@if($mysl->id == $cat->id)
<option selected value="{{$mysl->id}}">{{$mysl->name}}</option>
@else
<option value="{{$mysl->id}}">{{$mysl->name}}</option>
@endif
@endforeach
@else
<option value="{{$mysl->id}}">{{$mysl->name}}</option>
@endif
@endforeach
</select>
但只有当一个类别相同时它才有效。当有更多我的选择选项重复时。 这是我的两个 arrays。哪里有虫?
答案 0 :(得分:0)
你可以像这样实现
<select multiple class="form-control" name="category_id[]">
@foreach($mysliwski as $mysl)
@if(!$product->categories->isEmpty())
{{-- */$selected='';/* --}}
@foreach($product->categories as $cat)
@if($mysl->id == $cat->id)
{{-- */$selected='selected';/* --}}
@endif
@endforeach
<option {{ $selected }} value="{{$mysl->id}}">{{$mysl->name}}</option>
@else
<option value="{{$mysl->id}}">{{$mysl->name}}</option>
@endif
@endforeach
</select>
注意:{{-- */$selected='';/* --}}
是在刀片模板中声明变量的棘手方法。见https://stackoverflow.com/a/17176876/170539