【发布时间】:2017-07-15 06:08:27
【问题描述】:
我正在使用半正弦公式来计算距离,这很好。
但我想隐藏距离大于该结果的 max_radius 字段的结果。
这是我的数据库方案。
这是我正在使用的查询。 你可以看到我硬编码了距离 (50)
public function scopeFitsDistance($query, $lat, $lng)
{
return $query->select(\DB::raw("*,
( 3959 * acos( cos( radians(?) ) *
cos( radians( lat ) )
* cos( radians( lng ) - radians(?)
) + sin( radians(?) ) *
sin( radians( lat ) ) )
) AS distance"))
->addBinding($lat, 'select')
->addBinding($lng, 'select')
->addBinding($lat, 'select')
->having('distance', '<', 50); <----------
}
但现在我想知道如何隐藏距离
以下不返回任何结果
->having('distance', '<', 'max_radius');
谢谢!
【问题讨论】:
标签: php laravel eloquent query-builder