仅在$tags
集合不为空的情况下,我才尝试呈现一些HTML代码。但是,即使该集合为空,也会呈现HTML代码。
当我dd($tags)
时,我得到一个空的[]
。为什么会这样?
@if(!empty($tags))
<p><i class="fas fa-tags"></i> Tags</p>
<div class='image-tags'>
@foreach($tags as $tag)
<a class='image-tag' href="#">{{ $tag->name }}</a>
@endforeach
</div>
@endif
答案 0 :(得分:4)
尝试
@if(count($tags) > 0)
More code here ....
@endif
$tags
是一个数组
答案 1 :(得分:2)
PHP将Laravel集合视为一个对象。如果该对象不是null
,则empty
函数将始终返回true。如果要检查集合中是否包含元素,可以使用isNotEmpty
集合函数。
@if($tags->isNotEmpty())
@endif
答案 2 :(得分:0)
您应该将count($tags)
用于数组,如果是laravel集合,则应使用$tags->count()
答案 3 :(得分:0)
请检查该网址http://php.net/manual/en/function.empty.php,在此可以正确使用空函数。
在您的情况下,如果$ tags是一个数组,则应该这样使用:
if(count($tags) > 0)