Laravel 4远程Eloquent关联

3
我正在尝试使用Eloquent来预加载远程关系,但遇到了问题。涉及到5个表,它们是userscorporate_userscorporations和两个Sentry表(groupsusers_groups)。
这些表的设置如下:
- Users有一个CorporateUsers(一对一)。 - CorporateUsers属于一个Corporation(多对一)。 - Users与groups通过users_groups中间表有多对多的关系。
所有这些关系都可以单独工作。最初我可以通过调用CorporateUsers::with(array('user', 'corporations')); 来解决远程关系的问题,因为CorporateUsers直接与UsersCorporations有关系。
我的问题是如何设置CorporateUsers和Groups之间的关系,通过引用user_id而不是corporate_user_id的中间表users_groups?我尝试使用hasManyThrough关系,但没有成功。
有人有什么建议吗?

什么是代理?公司用户? - user1669496
抱歉,那是我的错误。代理商和企业用户是两个用户组,我把它们搞混了。我已经编辑了问题。 - JonoCoetzee
1个回答

7
你可以使用点符号表示嵌套关系,这会让你的生活更加轻松。
CorporateUsers::with('user.groups', 'corporations')->get();

你太棒了!感谢你,这个问题在laravel.io上已经开放了将近两天,而你只用了5分钟就解决了它。 - JonoCoetzee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接