【发布时间】:2017-01-19 19:07:13
【问题描述】:
谁能帮我正确查询这个问题。
我有一个 Concert 模型和另一个 Location 模型。音乐会属于一个位置。位置表有空间点字段。
我需要做三件事:
- 按与用户位置的距离排序
- 显示与用户位置的距离
- 获取距用户位置一定距离的音乐会
到目前为止,我已经成功地设置了数据库并将音乐会与用户保持一定距离:
$condition = ($lat != null && $lon != null && $distance != null);
Concert::when($condition, function ($query) use ($distance,$lat,$lon) {
return $query->whereHas('location', function($query) use ($distance,$lat,$lon) {
$query->whereRaw('st_distance(location,POINT('.$lat.','.$lon.')) < '.$distance);
});
})
->get();
你能帮我在视图中显示这个st_distance吗?
如何按距离订购?
当我在文档中读到st_distance 以度为单位时,获得$distance 英里/公里的正确方法是什么?
【问题讨论】:
标签: mysql laravel distance spatial