我想知道是否有人知道如何在 activerecord 中执行“IN”子句。不幸的是,“IN”子句几乎无法通过谷歌搜索,所以我必须在这里发布。基本上我想回答这样的问题“给我这些宿舍里的所有大学生,宿舍id在这个数组[id数组]中”。我知道如何在给定一个宿舍 id 的情况下编写查询,但我不知道如何在给定一组 id 的情况下编写查询。
任何帮助是极大的赞赏。我确定这是某个问题的转贴,所以一旦找到答案/更好的搜索词,我就会删除它。
我想知道是否有人知道如何在 activerecord 中执行“IN”子句。不幸的是,“IN”子句几乎无法通过谷歌搜索,所以我必须在这里发布。基本上我想回答这样的问题“给我这些宿舍里的所有大学生,宿舍id在这个数组[id数组]中”。我知道如何在给定一个宿舍 id 的情况下编写查询,但我不知道如何在给定一组 id 的情况下编写查询。
任何帮助是极大的赞赏。我确定这是某个问题的转贴,所以一旦找到答案/更好的搜索词,我就会删除它。
如果要使用
IN
表达式查找记录,可以将数组传递给条件哈希:Customer.where(orders_count: [1,3,5])
此代码将生成如下 SQL:
SELECT * FROM customers WHERE (customers.orders_count IN (1,3,5))
您还可以使用arel语法:
Client.where(Client.arel_table[:order_count].in([1,3,5]))
将生成相同的 SQL。