【问题标题】:Laravel 4 distant Eloquent relationsLaravel 4 遥远的雄辩关系
【发布时间】:2014-07-26 10:05:33
【问题描述】:

我正在尝试使用 Eloquent 加载远程关系,但遇到了问题。涉及 5 个表,分别是 userscorporate_userscorporations 和两个 Sentry 表(groupsusers_groups)。

表格设置如下:

  • Users hasOne CorporateUsers(一对一)
  • CorporateUsers 属于公司(多对一)
  • 用户通过 users_groups 数据透视表与 groups 建立多对多关系。

所有这些关系都是单独运作的。最初,我可以通过调用 CorporateUsers::with(array('user', 'corporations')); 来解决远程关系问题,因为 CorporateUsersUsersCorporations 都有直接关系。

我的问题是我如何设置 CorporateUsers 和 Groups 之间的关系,通过引用 user_id 而不是 corporate_user_id 的数据透视表 users_groups ?我已经尝试过 hasManyThrough 关系,但它不起作用。

有人有什么建议吗?

【问题讨论】:

  • 什么是代理?公司用户?
  • 对不起,这是我的一个错误,代理和企业用户是两个用户组,我把他们弄糊涂了。我已经编辑了问题。

标签: mysql sql laravel laravel-4 eloquent


【解决方案1】:

您使用点符号表示嵌套关系。它应该让您的生活更轻松。

CorporateUsers::with('user.groups', 'corporations')->get();

【讨论】:

  • 你摇滚!谢谢,这个问题已经在 laravel.io 上开放了快两天了,你在 5 分钟内就解决了。
猜你喜欢
  • 2015-06-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-04
  • 2020-09-25
  • 2018-07-24
  • 1970-01-01
  • 2015-03-14
相关资源
最近更新 更多