I did similar MySQL geocoding situation where I had to use HAVING and ended up with something like this, you'll probably have to tweak it for your own system.
http://blog.joebeeson.com/wp-content/uploads/2008/08/query.jpg Sorry it's an image, didn't feel like typing it all back up. The original post is here http://blog.joebeeson.com/?p=125 if it helps at all. On Sep 19, 10:51 am, Andras Kende <[EMAIL PROTECTED]> wrote: > Hello, > > Im using the geocode behaviour > fromhttp://bakery.cakephp.org/articles/view/geocoding-in-cakephp > > findAllByDistance(........ > ....... > $model->find('all',array('conditions'=>"(3958 * 3.1415926 * > SQRT(({$y2} - {$y}) * ({$y2} - {$y}) + COS({$y2} / 57.29578) * > COS({$y} / 57.29578) * ({$x2} - {$x}) * ({$x2} - {$x})) / 180) <= > {$distance}")); > ..... > > Works fine, but would like to add virtual 'distance' into the query so > results can be sorted by shortest distance > > I think this is could be done with MySQL HAVING statement ? > > maybe similar too: > > SELECT id, ( 3959 * acos( cos( radians(blahblah) ) * > cos( radians( lat ) ) * cos( radians( lng ) - radians(blahblah) ) + > sin( radians(blah) ) *sin( radians( lat ) ) ) ) AS distance FROM > markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20; > > Thanks for any help!!! > > Andras --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---