Voilà comment se présente la chose : J'ai: 1 Modèle Lesson** 1 Modèle Chapter** 1 Modèle Post** Vous l'aurez compris : Une leçon contient plusieurs chapitres, qui eux même contiennent plusieurs posts Pour faire ça j'ai relié les tables Lesson et chapter par une table de liaison (ChapterLesson) et idem pour Chapter et Post (ChapterPost) J'ai créé les modèles ChapterLesson et ChapterPost [code]<?php class ChapterPost extends AppModel{
public $useTable = "chapters_posts";
public $actsAs =array('containable');
public $belongsTo = array('Chapter', 'Post');
}
?>[/code] [code]<?php class ChapterLesson extends AppModel{
public $useTable = "chapters_lessons";
public $actsAs =array('containable');
public $belongsTo = array('Chapter', 'Lesson');
}
?>[/code] puis, voilà ma fonction pour visualiser une leçon dans le LessonController : Mon problème est que j'aimerai afficher pour la leçon donnée, ses chapitres (ça c'est ok ça marche) Mais aussi pour chaque chapitre de cette leçon => les posts qui sont associés (et là je n'y arrive pas du tout :) ) [code]function show($id = null, $slug = null) { $this->Lesson->recursive = -1; $this->Lesson->contain('Chapter'); $this -> loadModel('ChapterLesson'); $this -> loadModel('Chapter'); $this->ChapterLesson->contain('Chapter'); $d['chapters'] = $this->ChapterLesson->find('all', array( 'conditions' => array( 'ChapterLesson.lesson_id' => $id, ), 'order' => array('ChapterLesson.chapterposition ASC'), )); debug($d['chapters']);die(); $this->set($d); }[/code] Voilà ce que j'obtiens avec un debug : [code]array( (int) 0 => array( 'ChapterLesson' => array( 'id' => '184', 'lesson_id' => '2', 'chapter_id' => '158' ), 'Chapter' => array( 'id' => '158', 'name' => 'Le taux de transformation', 'slug' => 'taux-de-transformation', 'content' => '', 'created' => '0000-00-00', 'online' => '0', 'count' => '0', ) ) ), (int) 1 => array( 'ChapterLesson' => array( 'id' => '186', 'lesson_id' => '2', 'chapter_id' => '4', ), 'Chapter' => array( 'id' => '4', 'name' => 'Installer et configurer WordPress', 'slug' => 'installer-et-configurer-wordpress', 'content' => '', 'created' => '0000-00-00', 'online' => '0', 'count' => '0', ) ) ),[/code] On voit bien ici que j'obtiens bien les Chapitres (Chapter) de la leçon, mais j'aimerai également obtenir les posts (Post) qui appatiennent à chacun des chapitres. Questions: 1/Ai-je fais une erreur dans les associations de modèles ? 2/Ou est-ce ma requête qui est mauvaise ? Si quelqu'un a une requête meilleure que la mienne dans le code de ma fonction SHOW dans mon LessonController, je suis preneur :) Fred