Laravel - 动态绑定不能在一对多关系中工作

时间:2016-10-13 14:42:01

标签: php mysql laravel

我的模特是 员工,有这种关系:

public function company(){
        return $this->belongsTo('App\Company','company');
    }

和公司,有关系:

public function employees(){
        return $this->hasMany('App\Employee','company');
    }

company是我employees表中的FK,指向id表中的companies。 在修补程序中,我运行以下命令:

$employee = App\Employee::firstOrFail(); 
$employee->company; //returns 1 

但是当我做的时候

$employee->company->name; 

OR

$employee->company->id;

它返回错误:

PHP error:  Trying to get property of non-object on line 1

1 个答案:

答案 0 :(得分:1)

感谢@Neat,原因是这些字段的名称与关系方法相同。 我将字段company重命名为company_id,现在工作正常。