【发布时间】:2016-04-17 15:10:45
【问题描述】:
我在 Laravel 5.1 上使用空值的模型上的关系有问题。
我有 2 个表任务和用户。在任务中,我有列 id_requester 和 id_responsible。
我想显示所有任务,我总是有一个请求者,但有时我还没有一个负责人。
所以在这种情况下 id_responsible 为空。
我的模特是:
protected $table = 'tasks';
protected $fillable = array(
'id_requester',
'id_responsible',
);
public function requester()
{
return $this->hasOne('app\User', 'id', 'id_requester');
}
public function responsible()
{
return $this->hasOne('app\User', 'id', 'id_responsible');
}
我的控制器中的查询是:
$tasks = Tasks::get();
我尝试在视图中显示如下:
<table>
...
@foreach($tasks as $task)
<td>{{ $task->requester->name }}</td>
<td>{{ $task->responsible->name }}</td>
@endforeach
...
</table>
问题是,当我尝试访问该页面时,我收到一个错误“尝试获取非对象的属性”。
我已经测试过了,只有当我有一个 id_responsible = Null。
如何解决这个问题以显示所有寄存器?
谢谢!!!
【问题讨论】:
标签: laravel laravel-5 eloquent laravel-5.1 blade