【发布时间】:2012-10-11 12:44:05
【问题描述】:
我在users 表中有一个hstore 列,名为properties。
如何将 where 条件中的静态 sql 字符串转换为 aRel 语法?
User.where("properties -> 'is_robber' = 'true'") #=> ...some users
我试过了:
ut = User.arel_table
condition = ut["properties -> 'is_robber'"].eq('true')
User.where(condition) #=> throws pg error
这会产生错误的 sql:
SELECT "users".* FROM "users" WHERE "users"."properties -> 'is_robber'" = 'true'
与我需要的相比:
SELECT "users".* FROM "users" WHERE "users".properties -> 'is_robber' = 'true'
【问题讨论】:
标签: ruby-on-rails arel hstore