3

我想运行的查询是:

SELECT zcta.geoid10, ST_AsGeoJSON(ST_simplify(zcta.geom,500)) FROM zcta WHERE zcta.geoid10 = '90210'

然而,当我输入这个时,在 Rails 控制台中:

testquery = "SELECT zcta.geoid10, ST_AsGeoJSON(ST_simplify(zcta.geom,500)) FROM zcta WHERE zcta.geoid10 = '90210'"
Zcta.find_by_sql testquery

我得到以下返回:

 => [#<Zcta >]

如果我做一个基本查询来询问任何列的结果,我会得到我期望的响应。这只发生在 PostGIS 函数中。知道该怎么做吗?

4

1 回答 1

3

别名计算列,您将获得一个添加到返回对象的方法。

Zcta.
  select("*, ST_AsGeoJSON(ST_simplify(geom,500)) as my_geo").
  where(geoid10: '90210').each do |result|
    puts result.my_geo
  end
于 2013-04-08T11:32:11.270 回答