gpt4 book ai didi

ruby-on-rails - 在 Ruby on Rails 和 PostgreSQL 中使用 IN 运算符进行不区分大小写的搜索

转载 作者:行者123 更新时间:2023-11-29 14:10:33 25 4
gpt4 key购买 nike

我是 ROR 的新手,正在尝试使用 Active Record 在 PostgreSQL 数据库中实现搜索。我发现要使搜索不区分大小写,我可以使用 ILIKE 运算符而不是 equalsLIKE 但不确定在需要时该怎么做使用 IN 运算符。

我得到了一个字段名称和一组值,我需要检查它们,并且区分大小写的搜索是这样工作的:

records = records.where(filter['fieldName'] => filter['value'])

其中 filter['value'] 是一个数组。

有没有办法更新该行以使其不区分大小写?

如果不是,那么我认为唯一的方法是遍历该数组并将 IN 拆分为许多 OR 操作,并对每个操作使用 ILIKE该数组中的单个值(但是我不确定如何将 OR 与 Active Record 一起使用)?

谢谢!

最佳答案

records.where("lower(#{filter['fieldName']}) in (?)", filter['value'].map(&:downcase))

关于ruby-on-rails - 在 Ruby on Rails 和 PostgreSQL 中使用 IN 运算符进行不区分大小写的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37348640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com