【问题标题】:Laravel get data from two tables connected with many to many relationshipLaravel 从以多对多关系连接的两个表中获取数据
【发布时间】:2017-01-17 16:09:48
【问题描述】:

伙计们,我有 2 个表,首先是 users,其次是 notes

我用多对多关系

连接两个表

用户、注释和 user_note 表

现在我正在尝试通过Auth::user() -> id 登录用户 ID 的登录用户注释,同时我也在尝试获取 所有其他可以看到相同注释的用户。 p>

例如

user_id=1 可以看到 note_id=2user_id=2 也可以看到 note_id=2

所以 note_id=22 个用户

问题:

我想要 eloquent 让我获得所有登录用户的笔记和共享相同笔记的其他用户。

我已经尝试过whereHas,但我无法得到我需要的东西。

【问题讨论】:

  • 欢迎来到 StackOverflow!请尽可能准确地解释问题所在,如果您需要帮助,请访问stackoverflow.com/help/how-to-ask。现在我们可以实现一个随机数生成器,这将是一个有效的答案:)
  • @Loek 谢谢你.. 我会编辑它

标签: mysql laravel eloquent many-to-many relational-database


【解决方案1】:

试试这个:

$loggedInUser = Auth::user();
$notes = $loggedInUser->notes()->with('users')->get();

【讨论】:

  • 是的,这将被登录使用的笔记.. 但是我如何让所有其他用户与登录用户共享相同的笔记?
  • 它将与共享相同注释的所有用户一起提供注释。试试php artisan tinker。首先输入:$user = App\User::first(); 然后$user->notes()->with('users')->get() 并自己检查结果
  • 如果我尝试dd($notes[0] -> title);,它会为我获取所有登录用户的注释,这很完美,但它不会获取有关共享相同注释的其他用户的信息。
  • 按照我的建议在 tinker 中尝试。我认为 dd 应该是 $notes[0]->users
  • 哦,我很抱歉..你是完全正确的!太棒了!非常感谢 :D :D
猜你喜欢
  • 2019-05-23
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 2020-08-04
  • 2018-08-02
  • 2020-07-03
  • 1970-01-01
相关资源
最近更新 更多