我有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_id
在tasks
表中查找列。
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] 删除。
我来说两句