【问题标题】:Laravel Relationship HasManyThroughLaravel 关系 HasManyThrough
【发布时间】:2018-10-18 14:09:57
【问题描述】:

我在使用 Laravel/Eloquents 关系语法在我的应用程序中设置关系时遇到问题。

我有:

Events - id、姓名、位置

Reservations - id、event_id、user_id

Users - id、姓名等

并且我希望能够获取“针对给定事件的所有预订中的所有用户对象”。我已经尝试使用 hasManyThrough 和各种参数集来获得这个结果集,但我想出了空集!

感谢任何见解。

【问题讨论】:

  • 在这个场景中使用多对多关系

标签: laravel eloquent


【解决方案1】:

如果您正在寻找hasManyThrough 关系,users 表应该具有预订表的reservation_id 外键。

如果需要获取

针对给定事件的所有预订中的所有用户对象

你可以使用

$users_with_reservation = Reservation::where('event_id', $event_id)->pluck('user_id');

$users = User::whereIn('id', $users_with_reservation)->get();

【讨论】:

  • 太棒了,我不知道 whereIn 函数,这对于做子集来说真的很好。感谢您的时间和洞察力!
猜你喜欢
  • 2023-03-09
  • 2018-07-24
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
  • 2018-03-08
  • 2021-12-06
  • 2023-03-08
  • 2017-02-07
相关资源
最近更新 更多