我在使用laravel 5.2项目时遇到了一些麻烦,顺便说一下,这是第一个使用这个框架的项目,所以我有点新手。
问题是我已经指定了这两个表"供应商"和"经理"之间的关系,因此经理可以管理一对多供应商,而供应商由一个经理管理。
模型:
班级经理
public function suppliers(){
return $this->hasMany('App'Supplier','id');
}
///////
类供应商
public function manager(){
return $this->belongsTo('App'Manager','id');
}
还行。所以现在,从我目前所读到的内容来看,在刀片模板中访问嵌入在供应商中的经理数据应该像这样简单:
$supplier->manager->name
但我真正得到的是一个错误,它说
尝试获取非对象的属性
我在这里错过了什么?
好的。现在我觉得自己很傻。
所需要的只是正确定义前置键,当然,我做错了。我已经仔细检查了供应商表中的前置键定义,我意识到没有"id"字段。相反,我有一个名为"manager_id"的字段,因此只需更改它:
public function manager(){
return $this->belongsTo('App'Manager','id');
}
对此:
public function manager(){
return $this->belongsTo('App'Manager','manager_id');
}
仅此而已。我终于可以通过供应商访问经理的所有嵌入式数据。对不起,我的愚蠢错误。谢谢大家。