【发布时间】:2022-01-15 10:48:55
【问题描述】:
我想找到为雇主申请职位的人,因此我有 manyToMany 关系。
表格..
applies -> | users_id(employee) | posts_id |
posts -> | id | user_id(employer) | (other posts cols ... )
user_info -> | id | (name col etc... for employee)
后模型
public function people()
{
return $this->belongsToMany(Info::class , 'applies', 'user_id' , 'posts_id');
}
控制器
public function index()
{
$user_id = Auth::id();
$myPosts = Post::where('user_id',$user_id)->get();
$employees = Post::where('user_id' , $user_id)->people; // this line
dd($employees);
}
如果我 $employees = Post::find(//anyNumber//)->people; 效果很好,但对于每个雇主 ID,它必须是动态的。
我试过这个$employees = Post::where('user_id' , $user_id)->people; 但报错
Eloquent 构建器实例上不存在属性 [人]。
【问题讨论】:
-
你从未执行过你的查询...
Post::where('user_id' , $user_id)->first()->people -
问题不清楚;大概一个用户有很多帖子。你想为每个人获得关联的
people关系吗?由于您已经有一个用户实例,因此您似乎正在倒退。例如$myPosts = Auth::user()->posts; -
一个用户(雇主)有很多帖子,很多用户(员工)可以申请这些帖子。重点是雇主应该知道哪些用户申请了每个职位。