0

私はLaravel4を数日間使用していますが、修正できないと思われるものに遭遇しました。

AppointmentEloquentを使用して、とのbelongsTo関係がある2つのモデルを設定しましたRoom。そのように取得した後(積極的な読み込みを使用):

$appointments = Appointment::with('room')->get();

私はそれを私の見解で印刷しています:http://paste.laravel.com/fnL

それをループして、Appointmentの値を取得します。

@foreach($appointments as $appointment)
    <tr>
        <td>{{ $appointment->begins_at }}</td>
        <td>
            <a href="/admin/appointments/delete/{{ $appointment->id }}" class="btn btn-mini btn-danger">Verwijderen</a>
        </td>
    </tr>
@endforeach

これは正常に機能しますが、次の行を追加すると次のようになります。

<td>{{ $appointment->room->name }}</td>

次のエラーがスローされます。

ErrorException: Notice: Trying to get property of non-object

見落としているだけなのかもしれませんが、かなり前から見ていましたが、見当たりません...

助けてくれてありがとう!

4

1 に答える 1

4

コレクションの2番目の予定には部屋がないため、$appointment->roomです。つまり、null基本的にnull->name

ここに画像の説明を入力してください

解決策は、部屋が設定されているかどうかを確認することです。

@if($appointment->room)
    {{ $appointment->room->name }}
@endif

お役に立てば幸い

于 2013-01-11T20:44:19.200 に答える