我在laravel 5.2项目中遇到了一些麻烦,顺便说一下,这个框架是第一个,所以我有点新手。
问题是我已经指定了这两个表'供应商'和'经理'之间的关系,因此经理可以管理一个到多个供应商,供应商由一个经理管理。
模特:
班级经理
public function suppliers(){
return $this->hasMany('App\Supplier','id');
}
///////
班级供应商
public function manager(){
return $this->belongsTo('App\Manager','id');
}
确定。现在,从我到目前为止所读到的内容来看,在刀片模板中访问供应商中嵌入的管理器数据应该像这样简单:
$supplier->manager->name
但我真正得到的是一个错误,说
尝试获取非对象的属性
我在这里缺少什么?
答案 0 :(得分:3)
确定。现在我感到愚蠢。
所有这一切都需要正确定义外出键,当然,我做错了。 我已经在供应商表格中仔细检查了我的外观关键字定义,并且我意识到没有' id'领域。相反,我有一个名为' manager_id'的字段,所以只需改变它:
public function manager(){
return $this->belongsTo('App\Manager','id');
}
到此:
public function manager(){
return $this->belongsTo('App\Manager','manager_id');
}
就是这样。我终于可以通过供应商访问经理的所有嵌入数据。抱歉我的愚蠢错误。谢谢大家。