【发布时间】:2015-10-24 20:28:45
【问题描述】:
我正在尝试获取三级关系数据,但使用 laravel 5.1 时我迷路了
我会尝试解释我的场景,希望你能帮助我。
我有两个模型,分别称为 Host 和 User。
此模型按Hostgroup 和Usergroup 模型分组,使用多对多关系。
然后我有一个名为usergroup_hostgroup_permissions 的表,它与Usergroup 和Hostgroup 相关:
+--------------+----------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+----------------------+------+-----+---------------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| usergroup_id | int(10) unsigned | NO | MUL | NULL | |
| hostgroup_id | int(10) unsigned | NO | MUL | NULL | |
| action | enum('allow','deny') | NO | | allow | |
| enabled | tinyint(1) | NO | | 1 | |
+--------------+----------------------+------+-----+---------------------+----------------+
我想获取属于用户组的用户列表,该用户组在此表中与我的主机所属的主机组有关系。
例如:
我的 host_1 属于 DEV_servers。
在usergroup_hostgroup_permissions 表上,有一个条目允许developers 访问DEV_servers。
用户组developer 有 3 个用户 user_1、user_2 和 user_3。
有什么提示吗?提前致谢!
【问题讨论】:
-
抱歉,不太清楚,要不要通过主机id获取列表?
-
嗨@AhmadBaktashHayeri,我只放了一张相关的桌子。我想获取有权访问 host_1 的用户。为了获得这一点,我们需要属于 host_1 的主机组,然后获取具有“允许”访问该主机组的用户组。
-
嘿 Paco,你看我的回答了吗,我认为它会达到你的目的。
标签: php mysql orm laravel-5 relationship