[英]Loop through two object in laravel
我有两个对象数组,我想检查两个元素的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>
但是它仅在一个类别相同时才起作用。 当有更多我的选择选项重复。 这是我的两个数组 。 我哪里有虫子?
你可以这样实现
<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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.