2017-03-10 78 views

回答

2

找到問題

Model.where('array_in_db && ARRAY[?]::integer[]', [1,2,3]) 
的解決方案
-1

我相信最好的方法是使用重疊(& &)postgres算子來做你想做的事情。

看看這裏的postgres文檔 - https://www.postgresql.org/docs/9.1/static/functions-array.html

查詢看起來會是對的臺詞:

SELECT * 
FROM table_name 
WHERE column && {value1,value2}; 

編輯:改善答案。

在ActiveRecord中,您可以使用簡單的where子句調用構建該查詢,或者更好地安裝https://github.com/DockYard/postgres_ext gem以實現更輕鬆的集成。

如果您安裝了Postgres的擴展的寶石,你可以簡單地做:

Model.where.overlap(column: [value1, value2]) 
相關問題