Laravel刀片检查空的foreach [英] Laravel blade check empty foreach

查看:105
本文介绍了Laravel刀片检查空的foreach的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想检查我的foreach是否为空,所以基本的html标记不会显示在里面没有结果。我试图把它包装在一个if语句中,然后如果它是空的,不要做任何事情循环foreach。

  @if($ status->回覆==='')

@elseif
< div class =media-body reply-body>
@foreach($ status->回复为$回复)
< p> {{$ reply-> body}}< / p>
@endforeach
< / div>
@endif

@if(!(空($ status->回复))
< div class =media-body reply-body>
@foreach($ status->答复为$ reply)
< div class =media>
< a class =pull-lefthref ={{route 'profile.index',['username'=> $ reply-> user-> username])}}>
< img class =media-objectalt ={{$ > user-> getNameOrUsername()}}src ={{$ reply-> user-> getAvatarUrl()}}>
< / a>
< ; div class =media-body>
< h5 class =media-heading>< a href ={{route('profile.index',['username'=> $ reply-> user-> username])}}> {{$ reply-> user-> getNameOrUsername()}}< / a>< / h5>
< p>
< / p>
< ul class =list-inline list-replies>
< li>
< a href ={{route('s tatus.like',['statusId'=> $ reply-> id])}}>< i class =fa fa-thumbs-up>< / i>< / a>
{{$ reply-> likes - > count()}} {{str_plural('like',$ reply-> likes-> count())}}< / li>
< li> {{$ reply-> ; created_at-> diffForHumans()}}< / li>
< / ul>
< / div>
< hr>
< / div>
@endforeach
< / div>
@endif




  @forelse($ status-> 
< p> {{$ reply-> body}}< / p>
@empty
< p>无回复< / p>
@endforelse

Documentation


I want to check if my foreach is empty so the basic html markup isn't displayed with no results inside. I'm trying to wrap it in an if statement and then if it is empty do nothing else loop the foreach.

@if ($status->replies === '')

@elseif
<div class="media-body reply-body">
    @foreach ($status->replies as $reply)
        <p>{{ $reply->body }}</p>
    @endforeach
</div>
@endif

@if (!(empty($status->replies))
<div class="media-body reply-body">
    @foreach ($status->replies as $reply)
        <div class="media">
            <a class="pull-left" href="{{ route('profile.index', ['username' => $reply->user->username]) }}">
                <img class="media-object" alt="{{ $reply->user->getNameOrUsername() }}" src="{{ $reply->user->getAvatarUrl() }}">
            </a>
            <div class="media-body">
                <h5 class="media-heading"><a href="{{ route('profile.index', ['username' => $reply->user->username]) }}">{{ $reply->user->getNameOrUsername() }}</a></h5>
                <p>{{ $reply->body }}</p>
                <ul class="list-inline list-replies">
                    <li>
                        <a href="{{ route('status.like', ['statusId' => $reply->id]) }}"><i class="fa fa-thumbs-up"></i></a>
                    {{ $reply->likes->count() }} {{ str_plural('like', $reply->likes->count()) }}</li>
                    <li>{{ $reply->created_at->diffForHumans() }}</li>
                </ul>
            </div>
            <hr>
        </div>
    @endforeach
</div>
@endif

解决方案

Check the documentation for the best result:

@forelse($status->replies as $reply)
    <p>{{ $reply->body }}</p>
@empty
    <p>No replies</p>
@endforelse

Documentation.

这篇关于Laravel刀片检查空的foreach的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆