ForElse Laravel là gì?

Có rất nhiều chỉ thị phiến tuyệt vời được cung cấp bởi Laravel framework. Mỗi bản phát hành mới, tôi đều đọc tài liệu đầy đủ để xem liệu có bất kỳ tính năng ẩn mới thú vị nào mà tôi có thể sử dụng không

Một thứ mà tôi thấy rất hữu ích là chỉ thị @forelse và điều này được thực hiện cụ thể khi bạn có vòng lặp foreach bên trong câu lệnh if/else

Ví dụ, tôi thấy chúng hữu ích trong việc hiển thị các bảng đơn giản từ các mô hình

Không có @forelse

// Assume we are inside a 's  element

@if [$users->count[]]
    @foreach[$users as $user]
        
            ...
        
    @endforeach
@else
@endif

Không có gì sai với đoạn mã trên cả, nhưng nếu bạn là kiểu người thích giảm thiểu các lệnh và thụt lề như tôi, thì @forelse sẽ dễ chịu hơn một chút về mặt cú pháp

Với @forelse

// Assume we are inside a 
{{ $user->name }}
No users found.
's element @forelse[$users as $user] ... @empty @endforelse

Như bạn có thể thấy, chúng tôi đã xóa lệnh if và hợp nhất nó với lệnh foreach. Sau đó, chúng tôi sử dụng lệnh @empty để hoạt động như lệnh khác khi không có mục nào để lặp qua

Theo truyền thống đăng những điều nhỏ nhặt ở đây trên blog, một chi tiết hữu ích nữa. Bạn sẽ làm gì khi cần hiển thị vòng lặp trong Blade bằng foreach nhưng danh sách có thể trống? . Đây là cách nó hoạt động. Thay vì.
@if [$users->count[]]
  @foreach [$users as $user]
    

This is user {{ $user->id }}

@endforeach @else

No users found.

@endif
Bạn có thể sử dụng cái này.
@forelse [$users as $user]
    

This is user {{ $user->id }}

@empty

No users found.

@endforelse
Đẹp, phải không?
Có một cấu trúc vòng lặp "ma thuật" được gọi là forelse. Đây là cách nó hoạt động. Thay vì.
@if [$users->count[]]
  @foreach [$users as $user]
    

This is user {{ $user->id }}

@endforeach @else

No users found.

@endif
Bạn có thể sử dụng cái này.
@forelse [$users as $user]
    

This is user {{ $user->id }}

@empty

No users found.

@endforelse
Đẹp, phải không?

Tóm lại @foreach trong blade Câu lệnh Laravel được sử dụng khi bạn đang cố lặp qua một mảng, Giả sử bạn có dữ liệu cho người dùng được lưu trữ trong một biến có tên là $users và bạn cần xem qua chúng theo cách thích hợp sẽ thực hiện điều đó bằng cách sử dụng

@foreach [$users as $user]

This is user {{ $user->id }}


@endforeach

Nhưng giả sử bạn không có dữ liệu?. mảng bạn đang lặp qua trống, bạn sẽ làm gì sau đó?

Tôi đã trải nghiệm điều này nhiều lần khi tôi đang lặp qua một bảng dữ liệu hiển thị lượng dữ liệu khác nhau. Nhưng khi không có dữ liệu để trình bày thì bảng trống rỗng. Vì vậy, @forelse giải quyết vấn đề này bằng cách có một phạm vi câu lệnh trống cho phép bạn viết một cái gì đó khi không có dữ liệu

Xem đoạn mã dưới đây

@forelse [$users as $user]
  • {{ $user->name }}

  • @empty

    No users


    @endforelse

    Hy vọng điều này sẽ hữu ích nếu bạn cần bất kỳ trợ giúp nào về các mẹo của Laravel, hãy gửi thư cho tôi qua epmnzava@gmail. com

    Về cơ bản, vòng lặp ForElse có mã tích hợp và biên dịch kiểm tra đầu vào trống, trong trường hợp đó, nó tùy chọn xuất ra mẫu hiển thị thay thế cho đầu vào trống

    Tôi sẽ tưởng tượng bạn có thể sử dụng vòng lặp ForEach trong mọi trường hợp mà bạn có thể sử dụng vòng lặp ForElse, thêm vào đó bạn bao gồm và kiểm tra trống mà ForElse có thể bắt cho bạn

    Nếu bạn đã từng thực hiện bất kỳ mã hóa nào thì rất có thể bạn đã quen thuộc với các vòng lặp foreach. Không còn nghi ngờ gì nữa, vòng lặp foreach là một trong những cách tốt nhất để lặp lại các phần tử của bộ sưu tập

    Tuy nhiên, trong trường hợp bạn có một bộ sưu tập trống, bạn sẽ cần một câu lệnh if bổ sung để bạn có thể trỏ một thông báo hợp lệ tới người dùng của mình

    May mắn thay, Laravel cung cấp các Mẫu Blade tuyệt vời mà bạn có thể sử dụng để làm cho cuộc sống của mình dễ dàng hơn

    Trong bài đăng này, tôi sẽ chỉ cho bạn cách sử dụng forelse trong Laravel

    điều kiện tiên quyết

    Trước khi bắt đầu, bạn cần cài đặt sẵn Laravel

    Nếu đây không phải là trường hợp bạn có thể làm theo các bước ở đây về Cách cài đặt Laravel trên DigitalOcean bằng 1 lần nhấp?

    Kiểm tra nếu không trống thì

    Những gì tôi thường làm để kiểm tra xem một bộ sưu tập có trống trong chế độ xem Blade của tôi hay không là sử dụng một câu lệnh if-else như thế này

    @if[$posts->isNotEmpty[]]
      @foreach [$posts as $post]
        
        

    This is the post title {{ $post->title}}

    @endforeach @else

    No posts found

    @endif

    Trong ví dụ trên, trước tiên chúng tôi kết thúc vòng lặp foreach của mình trong một câu lệnh if và bằng cách sử dụng isNotEmpty[], chúng tôi kiểm tra xem bộ sưu tập có trống không và trong trường hợp nó trống, chúng tôi sẽ in thông báo

    @forelse [$posts as $post]
        
        

    This is the post title {{ $post->title}}

    @empty

    No posts found

    @endforelse
    0

    Điều này hoạt động khá tốt, nhưng Laravel có cách làm việc tao nhã hơn

    🤩 Nhà tài trợ tuyệt vời của chúng tôi 👇

    Xem trang web

    DigitalOcean cung cấp giải pháp lưu trữ đám mây đơn giản và đáng tin cậy cho phép các nhà phát triển nhanh chóng thiết lập và chạy trang web hoặc ứng dụng của họ

    Xem trang web

    Bảng công việc chính thức của Laravel. Tìm các nhà phát triển Laravel giỏi nhất và tài năng nhất bằng cách đăng công việc của bạn trên bảng việc làm chính thức của Laravel

    Xem trang web

    Tìm hiểu cách viết mã chuỗi khối của riêng bạn và tạo tiền điện tử của riêng bạn với nền tảng đào tạo trực tuyến thú vị và tương tác CoinCap. Tìm hiểu thêm về chương trình tài trợ DevDojo và xem biểu trưng của bạn tại đây để đưa thương hiệu của bạn đến với hàng nghìn nhà phát triển.

    ví dụ trước

    Thay vì phải lồng vòng lặp foreach bên trong câu lệnh if, thay vào đó, điều chúng ta có thể làm là sử dụng mẫu lưỡi cắt forelse

    {{ }} trong Laravel là gì?

    từ tài liệu. https. // ấu trùng. com/docs/5. 1/lưỡi dao. Theo mặc định, các câu lệnh Blade {{ }} được tự động gửi qua hàm htmlentities của PHP để ngăn chặn các cuộc tấn công XSS . Nếu bạn không muốn dữ liệu của mình bị thoát, bạn có thể sử dụng cú pháp sau. Xin chào, {. tên $. }.

    Làm cách nào để sử dụng năng suất trong Laravel?

    Ví dụ về mã lợi nhuận của Laravel .
    @endsection
    Chỉ thị @extend được sử dụng trong phần và cũng có thể sử dụng để tạo bố cục chính
    @include được xác định để hiển thị nội dung tĩnh trong bố cục của trang web chính và anh ấy cũng có thể thêm tiêu đề. .
    @include [tệp tiêu đề] hoặc @include [tệp chân trang]

    @extends được sử dụng để làm gì trong Laravel?

    @extends cho phép bạn "mở rộng" một mẫu, mẫu này xác định các phần của riêng nó, v.v. . Một mẫu mà bạn có thể mở rộng sẽ xác định các phần riêng của nó bằng cách sử dụng @yield , sau đó bạn có thể đặt nội dung của riêng mình vào trong tệp xem của mình. Bây giờ bạn có thể tạo một dạng xem khác mở rộng cùng một mẫu, nhưng cung cấp các phần riêng của nó.

    Làm cách nào để truyền dữ liệu cho tất cả các chế độ xem trong Laravel?

    Laravel cung cấp nhiều cách khác nhau để truyền dữ liệu tới một dạng xem. .
    Sử dụng chế độ xem[]
    Sử dụng với[]
    Sử dụng nhỏ gọn[]
    Sử dụng lớp điều khiển

    Chủ Đề

    {{ $user->name }}
    No users found.