【发布时间】:2022-09-22 23:45:10
【问题描述】:
@foreach (($loop->index == 3 ? FILTER_OPTION_NEW_EXISTING : ($loop->index == 4 ? $franchiseTypes : $categories)) as ($loop->index == 3 ? $key => $value : $item))
我怎样才能得到这个? @foreach 的第一部分取决于循环-> 索引号。我认为我的错误出现在 \'AS\' 之后。
我收到一个错误:
syntax error, unexpected token \"<\"
这是整个块:
<div class=\"row mt-3\">
@foreach (BRAND_FILTER_LISTING as $keyFilter => $filter)
@if ($loop->index > 2)
<div class=\"col-md-4 filter-container\">
<h5>{{ $filter[\'filterLabel\'] }}(<span class=\"{{ $keyFilter }}-selected-count filter-count\">{{(count(preg_grep(\'/^\' . $keyFilter .\'/i\', $activeListFilters)))}}</span>/
@if ($loop->index == 4)
{{ count($franchiseTypes) }})
@elseif ($loop->index == 5)
{{ count($categories) }})
@else
{{ count(FILTER_OPTION_NEW_EXISTING) }})
@endif
</h5>
<div class=\"filter-options\">
@foreach (($loop->index == 3 ? FILTER_OPTION_NEW_EXISTING : ($loop->index == 4 ? $franchiseTypes : $categories)) as ($loop->index == 3 ? $key => $value : $item))
<div class=\"form-check\">
<input class=\"form-check-input filter-checkbox {{$keyFilter}}-checkbox\" type=\"checkbox\" value=\"{{$loop->index == 3 ? $key : $item->id}}\" name=\"{{$keyFilter}}[]\" id=\"{{$keyFilter}}-{{$loop->index == 3 ? $key : $item->id}}\" data-filtertype=\"{{$keyFilter}}\"
@if(in_array(\'{{$keyFilter}}-\' . $loop->index == 3 ? $key : $item->id, $activeListFilters))
checked
@endif
>
<label class=\"form-check-label\" for=\"{{$keyFilter}}-{{ $loop->index == 3 ? $key : $item->id }}\">
{{$loop->index == 3 ? $value : $item->type}}
</label>
</div>
@endforeach
</div>
<x-brand.listing.filter-action-buttons filterType=\"{{$keyFilter}}\"/>
</div>
@endif
@endforeach
</div>
有没有办法做到这一点?
-
你不能在
foreach()中使用$loop。 -
@JSTECH 实际上, $loop 来自外部 foreach。
-
我在你的代码中没有看到 foreach 之外的另一个 foreach,那它是怎么来的?
-
对不起,我刚刚更新了块。
-
对于嵌套的 foreach,要访问父 $loop,您使用了
$loop->parent->index
标签: laravel laravel-components