我有这种关系:
public function company(){
return $this->hasOne('App\Models\User','personal_users_business_users', 'user_id', 'business_user_id');
}
当我尝试这个时:
$user->company()->associate($business_user_id);
我收到此错误:
调用未定义的方法 照亮\数据库\查询\生成器::准()
我有数据透视表personal_users_business_users
,它有user_id, business_user_id, approved
现在我想插入数据透视表business_user_id
。我做错了什么?
答案 0 :(得分:0)
你的关系应该是这样的:
public function company()
{
return $this->hasOne(User::class);
}
用户是您要与之联系的型号,
你应该这样称呼关系:
$user->company->business_user_id;
$ user 必须是您拥有关系功能的模型。 公司是您要获取的字段 business_user_id
答案 1 :(得分:0)
associate()
是 belongsTo 关系的一种方法,但从上面看,您尝试通过 hasOne 关系调用它。
<强>更新强>
您可以在App \ Models \ User类
中创建一个函数public function company() {
return $this->belongsTo('MODEL_OF_COMPANY', 'foreign_key', 'owner_key', 'relation');
}
然后致电$this->company()->associate($company)