我的模特是Employee,其关系为:
public function company(){
return $this->belongsTo('App'Company','company');
}
和Company,它们之间有关系:
public function employees(){
return $this->hasMany('App'Employee','company');
}
company
是employees
表中的FK,指向companies
表中的id
。在tinker中,我运行以下命令:
$employee = App'Employee::firstOrFail();
$employee->company; //returns 1
但是当我做的时候
$employee->company->name;
或
$employee->company->id;
它返回错误:
PHP error: Trying to get property of non-object on line 1
谢谢@Neat,原因是字段的命名与关系方法相同。我将字段company
重命名为company_id
,现在它工作得很好。