Laravel 检查集合是否为空

新手上路,请多包涵

我在我的 Laravel webapp 中有这个:

 @foreach($mentors as $mentor)
    @foreach($mentor->intern as $intern)
        <tr class="table-row-link" data-href="/werknemer/{!! $intern->employee->EmployeeId !!}">
            <td>{{ $intern->employee->FirstName }}</td>
            <td>{{  $intern->employee->LastName }}</td>
        </tr>
    @endforeach
@endforeach

我如何检查是否有 $mentors->intern->employee

当我做 :

 @if(count($mentors))

它不会对此进行检查。

原文由 Jamie 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 469
2 个回答

您可以随时计算收藏。例如 $mentor->intern->count() 将返回导师有多少实习生。

https://laravel.com/docs/5.2/collections#method-count

在您的代码中,您可以执行以下操作

foreach($mentors as $mentor)
    @if($mentor->intern->count() > 0)
    @foreach($mentor->intern as $intern)
        <tr class="table-row-link" data-href="/werknemer/{!! $intern->employee->EmployeeId !!}">
            <td>{{ $intern->employee->FirstName }}</td>
            <td>{{  $intern->employee->LastName }}</td>
        </tr>
    @endforeach
    @else
        Mentor don't have any intern
    @endif
@endforeach

原文由 otezz 发布,翻译遵循 CC BY-SA 3.0 许可协议

首先,您可以将集合转换为数组。接下来运行一个空方法,如下所示:

 if(empty($collect->toArray())){}

原文由 amirreza sharifi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题