Temat: Sposób na wyświetlenie elementów na podstawie relacji HABTM
Witam,
Sytuacja wygląda tak, piszę aplikację w cakePHP 1.3, mam 4 tabele w postaci (podaje pola tylko istotne):
discs:
- id
- user_id
users:
- id
tags:
- id
discs_tags
- id
- disc_id
- tag_id
Do nich mam modele:
User: $hasMany => 'Disc'
Disc: $belongsTo => 'User'; #hasManyAndBelongsTo => 'Tag'
Tag: $belongsTo => 'User'; #hasManyAndBelongsTo => 'Disc'
W moim tags_controller.php mam akcję show($name), która ma wyświetlić płyty w ramach tagu, ale stronicowane, i tu pojawia się problem.
Jeżeli użyję kodu (pisane z głowy):
$conditions = array (
'conditions' => array(
'Tag.name' => $name
)
);
$this->Tag->recursive = 2;
this->set($this->Tag->find('first', $conditions));w widoku mam dostęp do wszystkich płyt w ramach taga a dla każdej płyty mogę wyświetlić dane o autorze.
Problem polega na tym że nie mogę skorzystać helpera do page'owania bo find nie zwraca tych danych w wyniku zapytania.
No i teraz pojawia się pytanie. jak skonstruować zapytanie żeby otrzymać listę płyt z danego taga zwróconą przez paginator?
W cakePHP pracuję od niedawna i tak naprawdę dopiero się go uczę, także dzięki za wyrozumiałość, ten framework na 100% jeszcze mnie czymś zaskoczy.