you can use the containable behavior its the fastest and cleanest approach
On 27 Okt., 22:47, Tomfox Wiranata <[email protected]> wrote: > Hi, > > I have two models: user and book. in my user model i defined this > object: > > 'HistoryAll' => > array( > 'className' => 'Book', > 'joinTable' => 'books_users', > 'foreignKey' => 'fk_user_id', > 'associationForeignKey' => 'fk_book_id', > 'fields' => > array('fk_user_id','id','title','description'), > 'conditions' => array ('locked = false'), > 'order' => 'BooksUser.created desc', > 'limit' => '', > 'unique' => false > > as you can see there is a join with my books model, where i have > defined those objects (among others) > > var $hasMany = array( > 'BookContact' => array( > 'className' => 'BookAdditionalInformation', > 'foreignKey' => 'fk_book_id', > 'conditions' => array('is_contact' => true), > 'order' => array('type'), > 'dependent' => 'true' > ), > > now in my view i have dozens of objects i retrieve from the database > and I dont need many of those. this is how the debug looks like > > app\views\users\history.ctp (line 70) > Array > ( > [fk_user_id] => 76 > [id] => 208 > [title] => book 1 > [description] => test > [created] => 2011-10-11 23:19:40 > [hash] => d95e7a24d1b20598eb96aecadcf215e5ca7 > [BooksUser] => Array > ( > [fk_user_id] => 74 > [fk_book_id] => 208 > [created] => 2011-11-09 23:56:44 > [id] => 667 > [visible] => 0 > ) > > [User] => Array > ( > [username] => bookworm > [firstname] => Martin > [id] => 763 > ) > > [BookContact] => Array > ( > [0] => Array > ( > [fk_book_id] => 208 > [title] => booker is book > [value] => [email protected] > [type] => email > [id] => 1907 > [is_contact] => 1 > ) > > [1] => Array > ( > More data > ) > > [2] => Array > ( > Even more… > ) > > [3] => Array > > so how do i unbind BookContact?? > > I tried: $this->User->Book->unbindModel('hasMany' => > array('BookContact')); > I got: undefined object User::Book > > I tried: $this->User->unbindModel('hasMany' => > array('BookContact')); > I got still BookContact as binded > > fyi: my php code > ========================= > > $this->User->recursive = 2; > > $User = $this->User->findById($id); > $this->set('user', $User); > > in my view: > foreach($user['HistoryAll'] as $all): > > I appreciate your effort and help...thanks...a bunch :) -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
