On Mon, Oct 5, 2009 at 2:47 PM, brian <bally.z...@gmail.com> wrote: > Ordinarily, I'd suggest you dump the requestAction() calls and put the > logic in your model and call it from there. But you need to paginate, > so it has to be in the controller. In that case, you could put the > pagination logic in ProfilesController. As for the shout_to() method, > you could probably put that in the model. > > public $uses = array('Profile', 'Shout'); > > public paginate = array( > 'Shout' => array( > 'fields' => array( > 'Shout.id', > 'Shout.created', > 'Shout.body', > 'Shout.is_hidden', > 'Shout.is_deleted', > 'Shout.is_deleted_by_shouter', > 'Shout.from_profile_id', > 'FromProfile.nickname', > ), > 'contain' => array( > 'FromProfile', > ), > 'conditions' => array('Shout.profile_id' => $profileId), > 'order' => 'created DESC', > 'limit' => 1 > ) > ); > > > function view($id = null) { > if (!$id) { > $this->Session->setFlash(__('Invalid Profile.', > true)); > $this->redirect(array('action'=>'index')); > } > $this->set('profile', $this->Profile->read(null, $id)); > > $this->set('shouts', $this->paginate('Shout')); > > $this->set('shoutbox', $this->Shout->shout_to($id)); > } >
One thing I forgot: remove the conditions from the $paginate class var and set in the action: $this->paginate['Shout']['conditions'] = array('Shout.profile_id' => $profileId); --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---