无法在 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 5.2:无法调用构造函数

Laravel 4无法从命名空间控制器中找到BaseController

laravel 5.4 fopen(): Filename cannot be empty

laravel 5 - 在 routes.php 末尾捕获所有路由(Route::controller)?

ReflectionException Class App\Controller\MyController 在 laravel 中不存在错误

Laravel 4.* 到 5.*,在 Controller 中嵌套视图