Laravel 5.2:如何从belongsTo()访问数据?

时间:2016-02-03 08:10:11

标签: php orm eloquent belongs-to laravel-5.2

我在laravel 5.2项目中遇到了一些麻烦,顺便说一下,这个框架是第一个,所以我有点新手。

问题是我已经指定了这两个表'供应商'和'经理'之间的关系,因此经理可以管理一个到多个供应商,供应商由一个经理管理。

模特:

班级经理

public function suppliers(){
    return $this->hasMany('App\Supplier','id');
}

///////

班级供应商

public function manager(){
    return $this->belongsTo('App\Manager','id');
}

确定。现在,从我到目前为止所读到的内容来看,在刀片模板中访问供应商中嵌入的管理器数据应该像这样简单:

$supplier->manager->name 

但我真正得到的是一个错误,说

  

尝试获取非对象的属性

我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

确定。现在我感到愚蠢。

所有这一切都需要正确定义外出键,当然,我做错了。 我已经在供应商表格中仔细检查了我的外观关键字定义,并且我意识到没有' id'领域。相反,我有一个名为' manager_id'的字段,所以只需改变它:

public function manager(){
return $this->belongsTo('App\Manager','id');
}

到此:

public function manager(){
return $this->belongsTo('App\Manager','manager_id');
}

就是这样。我终于可以通过供应商访问经理的所有嵌入数据。抱歉我的愚蠢错误。谢谢大家。