我需要这样的查询
SKU A
但是结构必须类似于XREF
如何在使用替换的原始查询中获得双引号?在轨道上。
scope :find_email_usage, -> (id) {
where("EXISTS ((with filter_table as (select id, jsonb_array_elements(jsonb_array_elements(filters) -> 'criteria') filter_json) select 1 from filter_table where filter_json @> '{\"mail_id\": ?}'))", id.to_s, id.to_s)
}
但是还有其他方法可以在原始查询中获取双引号字符串吗?
答案 0 :(得分:0)
最简单的方法是构建一个Ruby哈希,将其转换为JSON,然后将该字符串提供给查询:
where('EXISTS ((... where filter_json @> ?::jsonb))', { 'mail_id' => id.to_s }.to_json)