尝试访问 Laravel 4 中的关系数据时出错
Posted
技术标签:
【中文标题】尝试访问 Laravel 4 中的关系数据时出错【英文标题】:Error when trying to access data of relation in Laravel 4 【发布时间】:2012-12-26 12:18:28 【问题描述】:我已经使用 Laravel 4 几天了,我偶然发现了一些我似乎无法修复的问题。
使用 Eloquent,我设置了 2 个模型,其中 Appointment
与 Room
具有 belongsTo
关系。
像这样检索它之后(使用急切加载):
$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
我可能只是忽略了一些东西,但我已经看了很长时间了,但我只是没有看到它......
提前感谢您的帮助!
【问题讨论】:
【参考方案1】:集合中的第二个约会没有房间,因此,$appointment->room
是null
,所以你实际上是在做null->name
解决办法是检查房间是否设置好了。
@if($appointment->room)
$appointment->room->name
@endif
希望有帮助
【讨论】:
我确实在这个应用程序上工作了太久...非常感谢!以上是关于尝试访问 Laravel 4 中的关系数据时出错的主要内容,如果未能解决你的问题,请参考以下文章
在 Laravel 中使用 Mockery/phpUnit 时出错