Cakephp を使用しており、カテゴリ 'X' の一部であるすべての提出物を表示したいと考えています。HABTM 関係を持つ 4 つのテーブルがあります。
ユーザー -> (haveMany) -> 提出物 <-> (hasAndBelongsToMany) <-> カテゴリ
しかし、私は $this->paginate() を使用してそうしたいと思います。投稿ごとに、投稿を投稿したユーザーを表示したいと思います。
ユーザーテーブル
Id | Name
-----+-------------------
1 | User 1
2 | User 2
提出表
Id | Name | User_id
-----+-------------------+--------------
1 | Submission 1 | 1
2 | Submission 2 | 2
カテゴリー表
Id | Name
-----+-------------------
1 | Category 1
2 | Category 2
SubmissionCategory テーブル
Id | Submission_id | Category_id
-----+-------------------+-------------------
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
これを行うことができるページネーションを作成するのに本当に苦労しています。何かが欠けていない限り、それは不可能だと思い始めています。
私がcakephpを使用していなかった場合、これは私がやりたいクエリです
SELECT
*
FROM
submissions_categories,
submissions,
users
WHERE
submissions_categories.category_id = 8
AND
submissions_categories.submission_id = submissions.id
AND
submissions.user_id = users.id