は、私のテーブル構造である:Laravelの関係で2つの結合を行うにはどうすればよいですか?ここ
// 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で私の現在の回避策です:それぞれの役割を使用するすべてのページを取得し、その後
public function pages()
{
return $this->belongsToMany(Page::class);
}
:
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
私はあなたの質問への答えupvote(さえない有用なもの)を見ることができます。あなたが私の答えをupvoteしない理由は何ですか?あなたのフィードバックは、私が答えの質を向上させるのに役立つか、何かが恋しくなるかもしれません。 –