我正在使用 Laravel 5.5 和 MYSQL 创建一个属性搜索应用程序。那里的用户搜索多个位置来购买特性。搜索结果将显示当前位置的属性,它还会获取附近位置的属性以获得更好的结果。
如果用户搜索单个位置,我将获取该位置的纬度和经度,并使用 MYSQL 查询检索 5KM 半径内的附近位置,并根据位置显示属性。
但我的问题是,当用户搜索 4 到 5 个位置时,如何获取 5KM 半径内每个位置的附近位置,并根据距离对结果进行排序。我对此进行了很多搜索,但找不到任何资源
这里是location和Property表的数据库结构
位置表
- id INT(10)
- location_name VARCHAR(255)
- 纬度 DECIMAL(11,8)
- 经度 DECIMAL(11,8)
- 活跃的 TINYINT(1)
属性表
- id INT(10)
- 属性名称 VARCHAR(255)
- location_id INT(10)
- 活跃的 TINYINT(1)
请帮助我解决这个问题。提前致谢
最佳答案
只需重复您的查询 4 - 5 次,然后在 Mysql 中使用“union”关键字合并结果
关于php - MySQL:多个经纬度的附近位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53369782/