我用哈沃辛公式来计算一个距离,,这很好,
但是我想隐藏距离大于结果上的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); <----------
}但是现在我想知道如何将结果隐藏到< max_radius (表中的一个字段)的位置。
以下内容不返回任何结果
->having('distance', '<', 'max_radius');谢谢!
发布于 2017-02-24 12:45:06
HAVING只适用于GROUP BY
您可以执行子选择,然后使用WHERE子句代替。
https://stackoverflow.com/questions/42438137
复制相似问题