5. Laravel cung cấp cho chúng ta thẻ @forelse, @continue, @break (ok)

Laravel cung cấp cho chúng ta thẻ @forelse, thẻ này hoạt động giống như là @foreach nhưng ta có thể kiểm tra nhanh xem object tham chiếu trong loop có rỗng hay không, nếu có thì sẽ thực thi lệnh gì đó thông qua thẻ @empty.

Bạn có thể test đoạn code này thì sẽ hiểu rõ thẻ @forelse ngay.

@forelse ([] as $user)
    <li>{{ $user['name'] }}</li>
@empty
    <p>No users</p>
@endforelse

Nói về vòng lặp thì không thể thiếu continuebreak được, đương nhiên hai lệnh này vẫn được Blade template chuyển cú pháp thành @continue@break.

@for ($i = 1; $i <= 10; $i++)
  @if ($i == 1)
      @continue
  @endif
  {{ $i }}

  @if ($i == 5)
      @break
  @endif
@endfor
Kết quả: 2 3 4 5

Nếu bạn thấy mỗi lần muốn break hoặc continue phải lồng trong một câu lệnh if thì hơi dài và khá rối mắc. Chính vì thế Laravel cho phép bạn truyền điều kiện vào hai thẻ @break@continue để rút ngắn thời gian cho bạn.

@for ($i = 1; $i <= 10; $i++)
    @continue($i == 1)

    {{ $i }}

    @break($i == 5)
@endfor
Kết quả: 2 3 4 5

Last updated