【发布时间】:2018-10-06 22:30:16
【问题描述】:
$salons = Salon::select('salons.*')
->selectRaw('( 6371* acos( cos( radians(?) ) *
cos( radians( lat ) )
* cos( radians( lng ) - radians(?)
) + sin( radians(?) ) *
sin( radians( lat ) ) )
) AS distance', [$lat, $lng, $lat])
->havingRaw("distance < 25")
->where("category_Id" , "=" , $id)
->get();
这个查询给了我这个-
"distance": 0.05205731665026305, I want distance like this 1.2KM
我尝试但没有找到解决方案
【问题讨论】:
-
您需要更好地解释您的问题和查询
-
您可以在查询中包含
concat,因此您无需循环并更改结果 -
在球面几何中,将距离作为角度是远远不够的。想象一下位于赤道上且相隔 1 度的两点之间的距离,而靠近北极的两点也相隔 1 度(约 120 公里对几米)。