【发布时间】:2017-12-10 09:38:50
【问题描述】:
这是我的表结构:
// roles
+----+-------+
| id | name |
+----+-------+
| 1 | admin |
| 2 | stuff |
+----+-------+
//pages
+----+---------------------+
| id | path |
+----+---------------------+
| 1 | users/list |
| 2 | users/list/paginate |
| 3 | users/make |
| 4 | posts/add |
| 5 | posts/edit |
+----+---------------------+
page_role
+---------+----------+
| page_id | role_id |
+---------+----------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
| 2 | 4 |
| 2 | 5 |
+---------+----------+
我要做的就是获取每个角色的所有页面。我怎样才能通过在 Laravel 中使用关系来做到这一点?
这是我目前使用纯 SQL 的解决方法:
SELECT p.* FROM roles r
INNER JOIN page_role pr on r.id = pr.role_id
INNER JOIN pages p on p.id = pr.page_id
ORDER BY p.id DESC
【问题讨论】:
-
我可以看到您对您的问题(甚至没有帮助的问题)的答案进行投票。你有什么理由不赞成我的回答?也许您的反馈可以帮助我提高答案的质量,或者我错过了什么?