Laravel 计数();其中;《拉威尔之刃》中的声明?

Laravel 计数();其中;《拉威尔之刃》中的声明?,laravel,laravel-4,blade,Laravel,Laravel 4,Blade,我对在我的应用程序中显示电子邮件统计数据的快速计数很感兴趣,但我一直在寻找一种高效的方法来生成计数。我希望只是使用一些“计数在哪里”的刀片内部声明的雄辩关系 获取总计数的工作原理如下: {{count($emails->mandrillemails)}} 但这样的事情可能吗 {{count($emails->mandrillemails->msg_state == 'bounced')}} {{count($emails->mandrillemails->msg_

我对在我的应用程序中显示电子邮件统计数据的快速计数很感兴趣,但我一直在寻找一种高效的方法来生成计数。我希望只是使用一些“计数在哪里”的刀片内部声明的雄辩关系

获取总计数的工作原理如下:

{{count($emails->mandrillemails)}}
但这样的事情可能吗

{{count($emails->mandrillemails->msg_state == 'bounced')}}
{{count($emails->mandrillemails->msg_state == 'open')}}
下面是我的@if和@foreach语句代码块:

     @if(count($sentEmails) > 0)
      @foreach ($sentEmails as $emails)
       <tr>
        <td>
          @if(count($emails->mandrillemails) > 0)
             <p><span class="badge"><i class="fa fa-paper-plane"></i> {{count($emails->mandrillemails)}}</span> <span class="badge"><i class="fa fa-exclamation-triangle"></i> {{count($emails->mandrillemails->msg_state == 'bounced')}}</span></p>
          @endif
        </td>
      </tr>
@if(计数($sentmails)>0)
@foreach($sentEmails作为$emails)
@如果(计数($email->mandrillemails)>0)
{{count($emails->mandrillemails)}}{{count($emails->mandrillemails->msg_state=='bounched')}

@恩迪夫

当我尝试此操作时,我在“msg_state”上得到一个未定义的属性错误。

$emails->mandrillemails()->msgstate('bounched')->count()
可以计算这样的关系:

$emails->mandrillemails()->whereMsgState('bounced')->count();
由于您正在
@foreach
处理数据,因此可能需要立即加载此数据。当您对关系进行计数时,这会稍微复杂一点-请参阅和,了解一些可能的技术,以快速加载计数值,而不是整个相关项列表