我使用半正矢公式来计算距离,这工作正常。
但我想隐藏距离大于该结果的 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');
谢谢你!
HAVING
仅适用于GROUP BY
您可以进行子选择,然后使用WHERE
条款代替。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)