Cakephp odzyskiwanie HABTM, które warunki

Korzystam z cakephp i chciałbym wyświetlić wszystkie zgłoszenia, które są częścią kategorii „X”. Mam 4 tabele ze związkiem HABTM.

Użytkownicy -> (haveMany) -> Zgłoszenia <-> (hasAndBelongsToMany) <-> Kategorie

ale chciałbym to zrobić za pomocą $ this-> paginate () i dla każdego zgłoszenia chciałbym wyświetlić użytkownika, który wysłał zgłoszenie.

Tabela użytkownika

Id   |      Name         
-----+-------------------
1    |   User 1      
2    |   User 2     

Tabela zgłoszeń

Id   |      Name         |   User_id
-----+-------------------+--------------
1    |   Submission 1    |      1    
2    |   Submission 2    |      2    

Tabela kategorii

Id   |      Name 
-----+-------------------
1    |   Category 1        
2    |   Category 2        

SubmissionCategory Table

Id   |   Submission_id   |   Category_id 
-----+-------------------+-------------------
1    |         1         |        1     
2    |         1         |        2  
3    |         2         |        1      

Naprawdę mam problem z utworzeniem stronicowania, które może to zrobić, zaczynam myśleć, że nie jest to możliwe, chyba że czegoś mi brakuje.

Gdybym nie korzystał z cakephp, jest to pytanie, które chciałbym zrobić

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

questionAnswers(1)

yourAnswerToTheQuestion