web-dev-qa-db-fra.com

Comment casser une boucle foreach dans la vue de la lame de laravel?

J'ai une boucle comme celle-ci:

@foreach($data as $d)
    @if(condition==true)
        {{$d}}
        // Here I want to break the loop in above condition true.
    @endif
@endforeach

Je souhaite interrompre la boucle après l'affichage des données si la condition est remplie.

Comment cela peut-il être réalisé en vue de la lame de laravel?

15
Sagar Gautam

De la documentation lame :

Lorsque vous utilisez des boucles, vous pouvez également mettre fin à la boucle ou ignorer le courant itération:

@foreach ($users as $user)
    @if ($user->type == 1)
        @continue
    @endif

    <li>{{ $user->name }}</li>

    @if ($user->number == 5)
        @break
    @endif
@endforeach
36
Alexey Mezenin

Utilisation de base

Par défaut, les lames ne possèdent pas @break et @continue, ce qui est utile. Donc, c'est inclus.

De plus, la variable $loop est introduite dans les boucles, (presque) exactement comme Twig.

Exemple de base

@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
3
Hiren Gohel

vous pouvez casser comme ça 

 @foreach($data as $d)
        @if($d=="something")
            {{$d}}
            @if(codition)
              @break
            @endif

        @endif
    @endforeach
2
Bilal Ahmed

Par défaut, Blade n’a pas @break, mais vous pouvez utiliser ces extensions Laravel Blade pour obtenir ce que vous voulez:

http://robin.radic.nl/blade-extensions/directives/foreach.html

0
Julian Chan