laravel - 模型关系未找到该属性
问题描述
我正在尝试在两个模型之间建立关系。我的第一个模型是用户模型,第二个是公司。
我尝试在 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”时拥有的所有公司,但是,它会返回以下消息:
此集合实例上不存在属性 [公司]。
谢谢,欢迎任何帮助
解决方案
感谢您及时的回复。我想通了,问题出在这一行:
$user_id = auth()->user('id');
应该改为
$user_id = auth()->user()->id;
推荐阅读
- mongodb - 聚合和 $ne 未按预期工作
- asp.net - 显示当前登录用户的记录
- python - 将字典的 dict 转换为 pandas DataFrame
- azure-language-understanding - 西班牙语中的预建 datetimev2 实体不会由
- android - ExpandableListView 标题中的附加文本
- sql - 多个 GROUP 和 COUNT Oracle SQL
- rdf - Virtuoso OWL 2 DL 推理
- javascript - 在 passProps 中传递函数数组会导致来自 JS 的错误调用:字段大小不同
- python - 改进 Python 列表理解以消除嵌套数组
- javascript - 绑定与箭头函数(在 JavaScript 中,或用于响应 onClick)