我正在运行一个基本的rails 4应用程序,它使用Google地图在地图上定位用户。
我正在尝试编写一个查询,该查询按多个属性查找一组用户。关系是:
User has_one :location
User has_many :children
Location belongs_to :user
Children belongs_to :user
@close = Location.near([current_user.location.latitude, current_user.location.longitude], params[:distance])
@close = @close.joins(user: :children).where('locations.users.children.count <= ?', params[:number_of_children]) if params[:number_of_children].present?
我正在使用Geocoded gem,它提供.near
方法。我按params[:distance]
查询一组位置,我需要根据该组对象查询children.count <= params[:number_of_children]
的数量。
PG::FeatureNotSupported: ERROR: cross-database references are not implemented: locations.users.children.count
修改
@close
实例var的初始化获取给定位置附近的位置列表。然后我尝试按给定的关联locations.users.children.count
过滤这些对象。