我是ROR的新手,嘗試使用Active Record在PostgreSQL數據庫中實現搜索。我發現要使搜索不區分大小寫,我可以使用ILIKE
運算符而不是equals
和LIKE
,但不知道當我需要使用IN
運算符時該怎麼辦。在Ruby on Rails和PostgreSQL中使用IN運算符進行大小寫不敏感搜索
我得到一個字段名和我需要檢查並區分大小寫的搜索就像是值的集合:
records = records.where(filter['fieldName'] => filter['value'])
其中filter['value']
是一個數組。
有沒有辦法更新該行,使其不區分大小寫?
如果沒有那麼我認爲唯一的辦法是遍歷數組和分裂IN
成許多OR
操作和陣列中使用ILIKE
爲每一個值(但我不知道如何使用或與活動記錄) ?
謝謝!
哪裏是從哪裏來的 「過濾器」 哈希值。看起來像SQLI容易受到我的影響。 您可以存儲已經在數據庫中縮減的值嗎? 你可以添加額外的索引嗎? –
@pascalbetz過濾器是我通過其他應用程序通過REST發送的自定義結構的一部分。不幸的是我需要在數據庫中保留真實的情況,但我幾乎用下面的建議來解決它。 –