无法在 Controller Laravel belongsToMany 关系中获取正确的数据 - Laravel / Eloquent [关闭]
Posted
技术标签:
【中文标题】无法在 Controller Laravel belongsToMany 关系中获取正确的数据 - Laravel / Eloquent [关闭]【英文标题】:Cant get proper data in Controller Laravel belongsToMany Relation - Laravel / Eloquent [closed] 【发布时间】:2022-01-15 22:53:02 【问题描述】:一个用户(雇主)有很多帖子,很多用户(员工)可以申请这些帖子。重点是雇主应该知道哪些用户申请了每个职位。
只是想为每个雇主 ID 的每个职位获取申请人。
我尝试了 $employees = Post::find(//anyNumber//)->people;
,它提供了正确的申请人信息,但对于每个雇主用户来说应该是动态的。
表格..
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::find(//anyNumber//)->people; // this line
dd($employees);
【问题讨论】:
我什么都不懂,请您补充更多信息。 【参考方案1】:如果我对问题的理解正确,您正在寻找所有申请雇主职位的员工。您应该能够在使用“with”语句获取帖子的同一查询中提取所有这些“人”。
例如:
$myPosts = Post::where('user_id', $user->id)->with('people')->get();
【讨论】:
非常感谢,它有帮助,但我如何才能像$myPosts->people->image
这样访问?
您可以包含如下内容: $myPosts = Post::where('user_id', $user->id)->with('people', 'people.images')->get ();
我需要为每个人迭代,所以我必须在视图图像、名称等中使用循环......以上是关于无法在 Controller Laravel belongsToMany 关系中获取正确的数据 - Laravel / Eloquent [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4无法从命名空间控制器中找到BaseController
laravel 5.4 fopen(): Filename cannot be empty
laravel 5 - 在 routes.php 末尾捕获所有路由(Route::controller)?
ReflectionException Class App\Controller\MyController 在 laravel 中不存在错误