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

Laravel 5.2: How to access data from belongsTo()?

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

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

模特:

Class 经理

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

///////

Class 供应商

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

好的。所以现在,从我到目前为止所读到的内容来看,在 blade 模板中访问供应商中嵌入的经理数据应该像这样简单:

$supplier->manager->name 

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

Trying to get property of non-object

我在这里错过了什么?

好的。现在我觉得自己很傻。

只需正确定义外键,当然,我做错了。 我仔细检查了我在供应商 table 中的外键定义,我意识到没有 'id' 字段。相反,我有一个名为 'manager_id' 的字段,因此只需将其更改为:

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

对此:

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

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