I'm on day two of trying to figure this out, we'll see if this helps. I've got three Models. Lessons belongsTo Parts and Lessons HABTM Pieces (and vice-versa)
Here's the model definition for Lessons, pretty straightforward. class Lesson extends AppModel { var $name = 'Lesson'; var $belongsTo = array( 'Part' => array( 'className' => 'Part', 'foreignKey' => 'part_id' ) ); var $hasAndBelongsToMany = array( 'Piece' => array( 'className' => 'Piece', 'joinTable' => 'lessons_pieces', 'foreignKey' => 'lesson_id', 'associationForeignKey'=> 'piece_id', 'unique' => true ) ); } The problem comes when trying to use findAll to locate a lesson associated with a particular piece. This is the findAll command I'm using with the conditions array.... $resultArray = $this->Lesson->findAll(array('Piece.id' => '1', 'Lesson.part_id' => '2')); Looking at the SELECT query generated by Cake, I see that, unlike the parts table, the pieces table is essntially ignored by findAll even though there's a HABTM association, thus the WHERE part of the query, where I ask for Piece.id, generates an error. Query: SELECT `Lesson`.`id`, `Lesson`.`created`, `Lesson`.`modified`, `Lesson`.`title`, `Lesson`.`issue`, `Lesson`.`part_id`, `Part`.`id`, `Part`.`part` FROM `lessons` AS `Lesson` LEFT JOIN `parts` AS `Part` ON (`Lesson`.`part_id` = `Part`.`id`) WHERE `Piece`.`id` = 1 AND `Lesson`.`part_id` = 2 I'm confused as to how I might search for HABTM model associations via a simple method such as findAll... I feel this might be related to the following ---> https://trac.cakephp.org/ticket/1209 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---