Thanks a bunch. And I'm going to bookmark the book site.

(Now, if someone would only remove that irritating hover style change
on the code blocks ...)

On Fri, Apr 25, 2008 at 1:11 PM,  <[EMAIL PROTECTED]> wrote:
>
>  http://book.cakephp.org/view/449/find
>
>
>  On Apr 25, 9:03 am, "b logica" <[EMAIL PROTECTED]> wrote:
>  > omg that was so freaking obvious! I'd been trying all sorts of things;
>  > that never occurred to me.
>  > Thanks a bunch!
>  >
>
>
> > On Fri, Apr 25, 2008 at 1:53 AM, squawk <[EMAIL PROTECTED]> wrote:
>  >
>  > >  Try this:
>  >
>  > >  find('list', array('order'=> 'field'));
>  >
>  > >  On Apr 24, 11:21 pm, "b logica" <[EMAIL PROTECTED]> wrote:
>  > >  > cake_1.2.x.x_24.01.2008
>  >
>  > >  > I need to specify an order on a find('list') call and nothing I've
>  > >  > tried is working :-(
>  >
>  > >  > Is the new find() format documented anywhere? I can't even remember
>  > >  > where I learned about it. Can 'list' be ordered?
>  >
>  > >  > For the interested, here's the relevant hunk of model.php:
>  >
>  > >  > case 'list' :
>  > >  >         if (empty($query['fields'])) {
>  > >  >                 $query['fields'] = 
> array("{$this->alias}.{$this->primaryKey}",
>  > >  > "{$this->alias}.{$this->displayField}");
>  > >  >                 $keyPath = "{n}.{$this->alias}.{$this->primaryKey}";
>  > >  >                 $valuePath = 
> "{n}.{$this->alias}.{$this->displayField}";
>  > >  >                 $groupPath = null;
>  > >  >         } else {
>  > >  >                 if (!is_array($query['fields'])) {
>  > >  >                         $query['fields'] = 
> String::tokenize($query['fields']);
>  > >  >                 }
>  > >  >                 if (count($query['fields']) == 1) {
>  > >  >                         $keyPath = 
> "{n}.{$this->alias}.{$this->primaryKey}";
>  > >  >                         $valuePath = '{n}.' . $query['fields'][0];
>  > >  >                         $groupPath = null;
>  > >  >                         $query['fields'] = 
> array("{$this->alias}.{$this->primaryKey}",
>  > >  > $query['fields'][0]);
>  > >  >                 } elseif (count($query['fields']) == 3) {
>  > >  >                         $keyPath = '{n}.' . $query['fields'][0];
>  > >  >                         $valuePath = '{n}.' . $query['fields'][1];
>  > >  >                         $groupPath = '{n}.' . $query['fields'][2];
>  > >  >                 } else {
>  > >  >                         $keyPath = '{n}.' . $query['fields'][0];
>  > >  >                         $valuePath = '{n}.' . $query['fields'][1];
>  > >  >                         $groupPath = null;
>  > >  >                 }
>  > >  >         }
>  >
>  > >  > Believe me, I've tried! If it's impossible, I can always re-order the
>  > >  > array when I get it. Or I could create a view in Postgres to keep any
>  > >  > selects to this table ordered the way I want (it's a lookup table,
>  > >  > basically, but order is important). But I'm curious is this can be
>  > >  > done directly.
>
>  >
>

--~--~---------~--~----~------------~-------~--~----~
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