如何使用 ActiveRecord 查询多个表?

How to query multiple tables with ActiveRecord?

我想知道如何在 ActiveRecord 中编写与此查询等效的内容:

SELECT id FROM projects, neighborhoods
WHERE ST_WITHIN(projects.lonlat, neighorhoods.the_geom);

我尝试了几种方法,包括

Neighborhood.select(:id).from('projects').where("ST_WITHIN(projects.lonlat, neighorhoods.the_geom)")

但是生成的查询总是解析为单个 table。谁能帮帮我?

利用神奇的工具 scuttle.io to 将 SQL 转换为四月:

Neighborhood.select(:id).where(
  Arel::Nodes::NamedFunction.new(
    'ST_WITHIN', [
      Project.arel_table[:lonlat], Neighorhood.arel_table[:the_geom]
    ]
  )
)