【发布时间】:2014-02-17 11:19:35
【问题描述】:
我想在我的 rails 应用中使用这样的查询:
Series.where("dimensions @> 'a=>1, b=>2'::hstore")
除了我需要使用通配符(或命名参数)以免引入 SQL 注入错误:
Series.where("dimensions @> '?=>?, ?=>?'::hstore", 'a', '1', 'b', '2')
但是后者不起作用,因为 hstore 不希望键/值用单引号引起来。这是错误:
PG::SyntaxError: ERROR: syntax error at or near "a"
LINE 1: ... "series".* FROM "series" WHERE (dimensions @> ''a'=>'1', '...
^
: SELECT "series".* FROM "series" WHERE (dimensions @> ''a'=>'1', 'b'=>'2''::hstore)
在 hstore 中使用通配符的正确方法是什么?
谢谢!
【问题讨论】:
标签: ruby-on-rails postgresql activerecord rails-activerecord hstore