I found this easy solution to calculated fields somewhere in the group:
http://groups-beta.google.com/group/cake-php/msg/c74f50974ffe2d62?hl=en& It uses SQL views, which makes things a lot easier (at least to me :-), as you don't have to fiddle with the results array... Hope it helps, Jacob On Dec 16, 1:21 pm, "AD7six" <[EMAIL PROTECTED]> wrote: > Hi Chris, > > Why are you not able to change that loop, is the loop itself some how > legacy? It's not clear to me where/how the minimum and maxium members > values need to be determined - where does that come from, is that in > the stat table? > > Anyway here are a few different permutations depending on what you > need, none of it is tested (obviously) and I doubt any of them will > give you what you want out of the box, but perhaps they might help on > the way. > > OLD: > $start = $this->Stat->findAll( > array( > 'Site.category' => $category, > 'Stat.s_date' => $start_date > ) > ); > $finish = $this->Stat->findAll( > array( > 'Site.category' => $category, > 'Stat.s_date' => $finish_date > ) > ); > > NEW: > $resultsMin = $this->Stat->findAll( > array( > 'Site.id' => $siteId, > 'Stat.s_date' => "BETWEEN $start_date AND > $finish_date", > ), > array( > 'DISTINCT s_date', > 'members', > 'threads', > 'posts', > etc. > ), > 'Stat.members ASC' > ); > > $resultsMax = $this->Stat->findAll( > array( > 'Site.id' => $siteId, > 'Stat.s_date' => "BETWEEN $start_date AND > $finish_date", > ), > array( > 'DISTINCT s_date', > 'members', > 'threads', > 'posts', > etc. > ), > 'Stat.members DESC' > ); > > OR why not get the DB to do it? > > $results = $this->Stat->findAll( > "Site.id = '$siteId' AND Stat.s_date BETWEEN $start_date AND > $finish_date GROUP BY Stat.s_date", > ), > array( > 'MIN(members) as MinMembers', > 'MAX(members) as MaxMembers', > etc. > ) > ); > > as mentioned by oldgreycells, agreagate functions are not in the > results for any particular model, but that isn't much of a problem if > you use afterFind or otherwise take account of where this data will be. > > HTH, > > AD7six > Please note: > The manual/bakery is a good place to start any quest for info. > The cake search (at the time of writing) erroneously reports less/no > results for the google group. > The wiki may contain incorrect info - read at your own risk (it's > mainly user submitted) :) You may get your answer quicker by asking on > the IRC Channel (you can access it with just a browser > here:http://irc.cakephp.org). --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" 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 -~----------~----~----~----~------~----~------~--~---