【发布时间】:2016-09-13 12:52:31
【问题描述】:
我有一个使用 Ruby On Rails 的 ActiveRecord 的 postgresql 查询
my_table.location = ActiveRecord::Base.connection.execute("UPDATE my_table SET location = ST_SetSRID(ST_MakePoint(my_table.longitude, my_table.latitude), 4326)::geography")
我想像这样将变量放入我的查询中,因为我不想使用数据库中的经度和纬度列,而是使用一些包含经度和纬度值的变量。
my_table.location = ActiveRecord::Base.connection.execute("UPDATE my_table SET location = ST_SetSRID(ST_MakePoint((?), (?), 4326)::geography"), longitude, latitude)
我找不到使它起作用的方法,但您应该了解其背后的想法。是否存在一些在我的查询中使用变量的方法?
【问题讨论】:
-
告诉我它有用吗?
-
它部分工作,当我的经度和纬度值为零时,它会显示此错误:
ERROR: invalid input syntax for type double precision: "" (ActiveRecord::StatementInvalid)
标签: ruby-on-rails ruby database postgresql activerecord