Each game in my games database has fields that represent dimensions. They are simply numbers ranging from 0-7, basically "how X" or "how Action-style" the game is. We'll call these fields X, Y, and Z.
I wish to create a search tool that finds other games that are most similar to the inputted game (using the X, Y, and Z fields' numerical values). Below is my current solution. For each game, I proceed to compare each numerical field. I will call our original game $original. Just take a looksy: function specialsearch($original) { $games = $this->Game->find('all', array('fields'=>array('X', 'Y', 'Z'))); foreach ($games as $game) { $results[ $game['Game']['id'] ]['X'] = abs( $game['Game']['X'] - $original['Game']['X'] ); //We'd repeat this for each field, Y, Z and so on... $results[ $game['Game']['id'] ]['strength'] = $results[ $game['Game']['id'] ]['X'] + $results[ $game['Game']['id'] ] ['Y'] + $results[ $game['Game']['id'] ]['Z']; } //This is where we'd put all the logic for saving or returning the results. } This should work well. We wind up with a distance from your original in each dimension. So when we add them together, we find exactly how dissimilar it is. 0 would be a game that's identical to this one, and infinity would be the opposite of this game. But this seems inefficient, especially if I want to display, for example, 5 other games that are similar to this one on every "view" action! Does anybody have a better solution? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---