On Mon, Mar 3, 2008 at 5:38 AM, sabkaraja <[EMAIL PROTECTED]> wrote:

>
> Hi
>

Hi,


>
> I have 3 models: Subject, Topic & Chapter
>
> Subject > hasMany > Topics & Topic > belongsTo > Subject
> Topic > hasMany > Chapters & Chapter > belongsTo > Topic
> User > HABTM > Chapter
>
> I am trying to do a recursive query ($this->Subject-
> >findAll('Subject.enabled=1'); ) to find out all the subjects & topics
> & chapters (and if needed users), I get results (copied only relevant
> bits) like the following:
>
> Array
> (
>    [Subject] => Array
>        (
>            [id] => 1
>            ...........
>            ...........
>
>        )
>
>    [Topic] => Array
>        (
>            [0] => Array
>                (
>                    [id] => 1
>                    [subject_id] => 1
>                    ...........
>                    ...........
>                    ...........
>                    [Subject] => Array
>                        (
>                            [id] => 1
>                            ...........
>                            ...........
>                        )
>
>                    [Chapter] => Array
>                        (
>                            [0] => Array
>                                (
>                                    [id] => 1
>                                    [topic_id] => 1
>                                    ...........
>                                    ...........
>                                )
>
>                        )
>
>                )
>    }
> }
>
> I want only a forward relationship records. that is: subject > Topics
> > chapters > users. I dont want Topics > Subject query. This adds
> considerable overhead to a findAll query.
> How can I avoid that?
>

I think $this->Subject->Topic->unbindModel(array('belongsTo' => 'Subject'));
before the findAll should do the trick. If you want an easy way of handling
model bindings, try out Mariano Iglesia's Bindable Behavior:
http://bakery.cakephp.org/articles/view/bindable-behavior-control-your-model-bindings


-- 
Matias Lespiau
http://www.gignus.com/

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" 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