I included this

        function find($type, $queryData = array()) {
                if(isset($queryData['index'])) {
                        if($queryData['index'] === true) {
                                $index_path =  
'{n}.'.$this->alias.'.'.$this->primaryKey;
                        } elseif(is_string($queryData['index'])) {
                                $index_path = $queryData['index'];
                        } else {
                                return parent::find($type, $queryData);
                        }
                        $r = parent::find($type, $queryData);
                        return Set::combine($r,$index_path,'{n}.'.$this->alias);
                } else {
                        return parent::find($type, $queryData);
                }
        }

in my AppModel now.
It adds another option to the queryData array so it can be used like this:

$this->Model->find('all',array('index' => true))

I'll have to think of a way so associated data can also be easily indexed.


On Tue, Sep 2, 2008 at 11:55 AM, Howard Glynn <[EMAIL PROTECTED]> wrote:
>
> The only thing I might add is to write a custom method in your model to do
> this find and reindexing.
>
> At least then, hopefully, when (if) this becomes possible, the refactoring
> is a heck of a lot easier and should result in code removal with no change
> to controllers.
>
> In fact I've found myself purging all find() calls from controllers in
> favour of model methods, it makes writing test cases easier against the
> models and helped in the business of converting to the new find syntax. And
> occasionally I'm able to optimize where I have to do reindexing (eg expanded
> use of Set:: class)
>
> Like yourself I'm reluctant to put things like this in AppModel., although
> it would be ok in the model i guess.
>
> I do think what you are asking is possible with the Set class with a lot of
> trial and error (i know i have) but again you'd want to hide that in a model
> method.
>
>
> On Tue, Sep 2, 2008 at 10:08 AM, Marc Schuetze <[EMAIL PROTECTED]>
> wrote:
>>
>> too bad that there is no way to do it.
>> I'm currently doing it exactly the way you suggested but I was hoping
>> for an easier solution.
>> It get's a bit more difficult when you want the associated data to be
>> indexed.
>> But especially it is not so nice because it does affect performance
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to