空数组在Laravel刀片中不会显示为空

时间:2018-10-25 08:38:05

标签: php laravel

现在,我正在尝试检查视图何时接收到空数组。

@if(! empty($array))
    // Section content goes here...

    @foreach($array as $value)
        // All table data goes here... 
    @endforeach
@endif

$array为空并导致异常时,上面的代码似乎仍然可以运行。

当我尝试使用{{ dd($array) }}转储数组时,我得到了$array = []

2 个答案:

答案 0 :(得分:2)

听起来像您正在收藏。您可以简单地执行count($array)来检查数组中的记录数量。看起来像这样:

@if(count($array))
    // Section content goes here...

    @foreach($array as $value)
        // All table data goes here... 
    @endforeach
@endif

该部分现在应该被隐藏。如果只希望在数组中没有任何内容时跳过foreach,则可以执行以下操作:

// Section content goes here...

@forelse($array as $value)
    // All table data goes here...
@empty
    // Optional message if it's empty
@endforelse

将输出节内容并检查数组foreach之前是否有任何值。

您可以在Laravel documentation中阅读有关刀片文件中循环的更多信息。

答案 1 :(得分:0)

您的数组是否可能是collection

尝试使用@forelse,这将检查数组或集合是否为空,并显示另一个块。例如:

@forelse($array as $value)
    {{ $value }}
@empty
    array is empty
@endforelse