オブジェクトまでの距離に従って、データベースからの結果を並べ替えたいと思います。オブジェクトとデータベース アイテムの両方に and がlat
あり、 hasersinelng
で距離を計算できます。
問題は、データベースからの距離によって選択する必要があることです。データベース全体を引き出して計算を行い、必要な結果を取得することはできません。これを行うたびに子猫が死んでしまうからです。
に hasersine 式を入れることを提案する人もい
order_by
ます。何匹の子猫が死ぬの?ある種の空間プラグインを提案する人もいます。彼らは何をしますか?どちらを使用する必要がありますか?
見苦しいと思われる別の方法は、手動で距離を取り、 と の大小をすべて除外して正方形を作成することでし
lat
たlng
。十分な結果がない場合、または結果が多すぎる場合は、距離を修正してクエリを再度実行します。
プロのコンと一緒に行くべき最善の方法を誰か教えてください。また、CakePHP で LAMP/MAMP を使用しています。