我想在我的 CakePHP 查找查询中使用 hasrsine 公式来返回给定半径和纬度/经度对的位置。我刚刚阅读了 CakePHP 中的虚拟字段,但就我而言,我需要传递这 3 个参数。我该如何解决这个问题?
public $virtualFields = array(
'distance' => '( 3959 * acos( cos( radians(37) ) * cos( radians( Location.latitude ) ) * cos( radians( Location.longitude ) - radians(-122) ) + sin( radians(37) ) * sin( radians( Location.latitude ) ) ) )',
);
上面的虚拟字段工作正常,它直接返回从表中的点到公式中指定的值的距离 (37,-122)。现在我怎样才能动态改变这个值!?