首页 > 解决方案 > @if (!empty(...)) 被忽略,尽管对象中没有返回数据

问题描述

!empty如果传入的对象如下所示,我正在尝试显示评论。

@if(!empty($comments))

            <h3>Other people comments</h3>

          @foreach ($comments as $comment)
             <p>{{ $comment->comment }}</p>
          @endforeach
@endif

但问题是,!empty总是被忽略,<h3>Other people comments</h3>尽管没有评论,但总是在显示。

以下是 $comments 的 var_dump

object(Illuminate\Database\Eloquent\Collection)#354 (1) { ["items":protected]=> array(0) { } }

我错过了什么吗?

标签: phplaravel

解决方案


$comments不是空的,它包含一个对象。您可以使用一种count()方法来确定集合中是否包含任何项目。

@if($comments->count())

推荐阅读