我在ruby應用程序中有一個過濾器數組,它對Postgres連接進行原始SQL查詢。我試圖找出如何我可以序列化這個數組到的東西可查詢,Ruby + Sequel - 將數組序列化爲文本數組查詢
即:SELECT * FROM data WHERE strings IN #{strings_array}
我無法找到任何資源這一點。什麼是序列化這個查詢的正確方法?
編輯:我最終搞清楚:
query = ''
arr.each_with_index { |e, i|
if i == arr.length - 1
query += "#{e}"
else
query += "#{e},"
end
}
然後
" AND column @> ('{#{query}}')"
但必須有一個更簡潔的方式,不是嗎?
# I presume arr contains an array that you want serialize
strings_array = "'#{arr.join("','")}'"
query = "SELECT * FROM data WHERE strings IN #{strings_array}"
想要序列化數據數組或對數據進行查詢嗎? – Jesper 2015-02-06 08:11:09
@Jesper - 我想查詢一個可變數組數組。例如,我有一個像'names = ['Jason','Bob','Chris']'這樣的字符串數組,我想將'names'嵌入到查詢字符串中,這樣我就可以匹配列'first_names'其中'names'數組中的值在該行中 – jtmarmon 2015-02-06 08:16:31