1. ホーム
  2. php

Laravelは、コレクションが空であるかどうかをチェックする

2023-09-20 03:35:05

質問

Laravelのウェブアプリにこんなのがありました。

@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))

それはチェックしません。

どのように解決するのですか?

コレクションは常に数えることができます。例えば $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