Here's a quick tutorial I posted on using containable with paginate:

http://richardathome.com/blog/cakephp-pagination-containable


On Jul 29, 3:17 pm, JamesF <[email protected]> wrote:
> well to answer your question about paginate and containable, you can
> set 'contain' paramaters on $paginate along with conditional
> containment. as far as global model operations like you describe it
> might be easier to do that but i'm not sure of the best way. let us
> know what you come up with.
>
> On Jul 29, 2:33 am, park <[email protected]> wrote:
>
>
>
> > Hi James,
>
> > You're absolutely right. I can't agree more on the fat model idea.
>
> > Your approach should definitely work, but I still need to dive into
> > controllers and make changes to find calls. And what's more, what
> > about the paginate things? What about containable queries that concern
> > this model...
>
> > I assume there should be a way to globally set this condition in the
> > scope of this particular model? Like setting conditions to
> > Model.approved = 1, which affects all queries, paginations as well as
> > containable.
>
> > Something like this one, but much 
> > simpler:http://bakery.cakephp.org/articles/view/soft-delete-behavior
>
> > As for the admin part, maybe I can disable this condition on the fly
> > before whenever a query is made.
>
> > On Jul 29, 2:13 pm, JamesF <[email protected]> wrote:
>
> > > "It's an existing site, so I don't want to rewrite conditions for all
> > > find queries. "
>
> > > ahh thats why we should be using fat models instead of fat
> > > controllers.
>
> > > the most direct way to achieve this would be to put it in each find
> > > call.
>
> > > the best way would be to set up a function in your model, lets call it
> > > findApproved()
>
> > > so in you model you put
>
> > > function findApproved(){
>
> > >      $data = $this->find('all', array('conditions'=>array
> > > ('Model.approved'=>1,
> > > more conditions etc etc)));
>
> > >       return $data;
>
> > > }
>
> > > in your controller just put
> > > $this->Model->findApproved() in place of those old rusty controller
> > > find calls.
>
> > > On Jul 29, 1:38 am, park <[email protected]> wrote:
>
> > > > Hi,
>
> > > > Would like to add an "approved" field for a model. Users can only see
> > > > entries whose Model.approved = 1. Only in admin section can unapproved
> > > > entries be retrieved.
>
> > > > It's an existing site, so I don't want to rewrite conditions for all
> > > > find queries.
>
> > > > Is there a centralized method (presumably in Model) of achieving this?
>
> > > > Many thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to