我已经使用Laravel 4几天了,我偶然发现了一些我似乎无法解决的问题。
使用Eloquent,我设置了2个模型,其中Appointment
与belongsTo
的关系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
我可能只是忽略了一些东西,但我已经看了很长一段时间了,我只是看不到它......
提前感谢您的帮助!
答案 0 :(得分:4)
集合中的第二个约会没有空间,因此,$appointment->room
为null
,因此您基本上正在执行null->name
解决方法是检查房间是否已设置。
@if($appointment->room)
{{ $appointment->room->name }}
@endif
希望有所帮助