首页 > 解决方案 > 使用 laravel @forelse 检测“错误”并停止循环

问题描述

我有一个有时没有数据的循环。如果数组项为空/假等,我试图防止数据循环。

@forelse($section['menu_items'] as $menu_item)

    MENU ITEMS

@empty

  {{-- No menu items available --}}

@endforelse

的值为$section['menu_items']
/tmp/sage-cache/2acaf3eba50e1836f9f0ccc295cb9d19c73d0fec.php:105:boolean false

基于此错误,它仍在尝试循环,但也回退到 @else 结果:

在此处输入图像描述

标签: phplaravel

解决方案


为什么不在尝试循环之前检查它?

@if(!empty($section['menu_items']))
    @foreach($section['menu_items'] as $menu_item)
        MENU ITEMS
    @endforeach
@else
    {{ -- No menu items available --}}
@endif

推荐阅读