Как разорвать петлю foreach в laravel blade view?
У меня есть такой цикл:
@foreach($data as $d)
@if(condition==true)
{{$d}}
// Here I want to break the loop in above condition true.
@endif
@endforeach
Я хочу прервать цикл после отображения данных, если условие выполнено.
Как это может быть достигнуто в Laravel blade view ?
4 ответа:
Из Blade docs:
При использовании петель вы также можете завершить петлю или пропустить ток. итерация:
@foreach ($users as $user) @if ($user->type == 1) @continue @endif <li>{{ $user->name }}</li> @if ($user->number == 5) @break @endif @endforeach
Вы можете сломаться вот так
@foreach($data as $d) @if($d=="something") {{$d}} @if(codition) @break @endif @endif @endforeach
Основное использование
По умолчанию у blade нет
@break
и@continue
, которые полезно иметь. Так что это включено.Кроме того, переменная
$loop
вводится внутри петель, (почти) точно так же, как веточка.Основной Пример
@foreach($stuff as $key => $val) $loop->index; // int, zero based $loop->index1; // int, starts at 1 $loop->revindex; // int $loop->revindex1; // int $loop->first; // bool $loop->last; // bool $loop->even; // bool $loop->odd; // bool $loop->length; // int @foreach($other as $name => $age) $loop->parent->odd; @foreach($friends as $foo => $bar) $loop->parent->index; $loop->parent->parentLoop->index; @endforeach @endforeach @break @continue @endforeach
По умолчанию Blade не имеет @break, но вы можете использовать эти расширения Laravel Blade, чтобы получить то, что вы хотите:
Http://robin.radic.nl/blade-extensions/directives/foreach.html