Seems a rather long-winded way of doing it. Instead you can use cakephp's standard generateList(), and use afterFind to generate the arrays you want pass in.
Paul Herron has a good article on this: http://www.paulherron.net/articles/view/cakephp_afterfind_psuedofields On 7/20/07, mithnik <[EMAIL PROTECTED]> wrote: > > Hi all, > I needed a function to return more than one value for a key so this is > what I have done. I hope it will helps someone. > > /** > * Generates an array with keys defined by $keyPath and > concatenated values from $valuePath > * > * @param array $conditions limites the array of result if defined > * @param mixed $keyPath A dot-separated > * @param mixed $valuePath A dot-separated string. > * @param mixed $delimeter string to seperate values. > * @param numerical $recursive defines depth of search. > * @return array Array with keys defined from $keyPath and values > concatenated string of $valuePath > * @access public > */ > function generateListExtended($conditions = null, $keyPath, > $valuePath = null, $delimeter = " ", $recursive = -1) > { > if(empty($valuePath)) > return false; > > $this->recursive = $recursive; > $rows = $this->findAll($conditions); > if(empty($rows)) > return null; > $returnKeys = Set::extract($rows, $keyPath); > > $listVals = array(); > foreach($valuePath as $key => $value) > $listVals[] = Set::extract($rows, $value); > > $returnVals = array(); > foreach($listVals as $fieldKey => $fieldValue) > { > foreach($fieldValue as $key => $value) > { > if(!empty($value)) > { > if(isset($returnVals[$key])) > $returnVals[$key] .= > $delimeter.$value; > else > $returnVals[$key] = $value; > } > } > } > > if (!empty($returnKeys) && !empty($returnVals)) { > $return = array_combine($returnKeys, $returnVals); > return $return; > } > return null; > } > > > > > -- Tane Piper http://digitalspaghetti.tooum.net This email is: [ ] blogable [ x ] ask first [ ] private --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
