Laravel 4雄辩的关系

里奇

我有2张桌子:

`tasks {id, task_name, status_id}`
`statuses {id, status_name }`

一项任务一次只能具有一个状态,例如“待定”,“活动中”,“已完成”,“已中止”等

到目前为止,这就是我所拥有的。

class Task extends Eloquent
{
    public function status
    {
        return $this->hasOne('Status', 'id');
    }
}

尝试时$task->status->status_name,出现“试图获取非对象的属性”错误!

我的状态类看起来像这样

class Status extends Eloquent
{
    protected $table = 'statuses';
}

你能解释为什么我有这个错误吗?

米尼诺兹

由于您已在Task表中获得了外键,因此可以使用,belongsTo并且Eloquent会为您status_idtasks表中查找列

public function status
{
 return $this->belongsTo('Status');
}

有关更多信息,请参见“一对一”部分中的http://laravel.com/docs/4.2/eloquent

对于错误,Trying to get a property of non object请确保记录status_id上表中的列中有一个值tasks

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章