首页 > 解决方案 > 模型关系未找到该属性

问题描述

我正在尝试在两个模型之间建立关系。我的第一个模型是用户模型,第二个是公司。

我尝试在 User 模型中添加 hasMany('App\Comapny') 属性,并在 Company one 中添加 belongsTo('App\User')。

// 在用户模型中

public function companies(){
    return $this->hasMany('App\Company');
}

// 在公司模型中

public function user(){
    return $this->belongsTo('App\User');
}

// 在控制器中:

$user_id = auth()->user('id');
$user = User::find($user_id); 
return view('devices.show')->with('companies', $user->companies);

它应该返回一个数组,其中包含我的用户在使用“$user->comapnies”时拥有的所有公司,但是,它会返回以下消息:

此集合实例上不存在属性 [公司]。

谢谢,欢迎任何帮助

标签: laraveleloquent

解决方案


感谢您及时的回复。我想通了,问题出在这一行:

$user_id = auth()->user('id');

应该改为

$user_id = auth()->user()->id;

推荐阅读