I’m creating a Q&A application in CakePHP, and I want to exclude my associations in some cases. Imagine the following:
I’m listing all questions on the first page using $this->Question->findAll();. Since I have the following association in my model:
public $hasMany = array('Answer' => array('className' => 'Answer', 'order' => 'Answer.created DESC', 'foreignKey' => 'post_id', 'dependent' => true, 'exclusive' => false, ) );
All answers will get selected at the start page, which is not optimal. How could i do to exclude the answers in this particular method?
Thanks
I quick look at the CakePHP API reveals that you’ve got an unbindModel method on the Model. So in you example you can do this:
Alternatively, you can use the Containable behaviour to only select the pieces from MySQL that you require for the current page view.