繁体   English   中英

循环通过Laravel中的两个对象

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM