我在我的应用程序中使用 GeoCoder。现在我需要在数据库中搜索靠近某个位置或具有特定属性集的对象。我想在一个数据库查询中执行此操作,因为数据库确实很大。
我想要有类似的东西
Spot.near([lat,long],distance).where("visited = ?",true).
距离和访问过的属性应使用 OR 组合,而不是 AND。
有谁知道如何做到这一点?
谢谢你!
基于this https://stackoverflow.com/a/9420230/394282回答,你应该能够做类似的事情:
near = Spot.near([lat, long], distance)
visited = Spot.where(visited: true)
near = near.where_values.reduce(:and)
visited = visited.where_values.reduce(:and)
Spot.where(near.or(visited))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)