子句

我想知道是否有人知道如何在 activerrecord 中做一个“ IN”子句。不幸的是,“ IN”子句几乎无法在谷歌上搜索到,所以我只能在这里发帖。基本上,我想回答这样一个问题: “给我宿舍中所有的大学生,他们的宿舍 ID 都在这个数组[ id 数组]中”。我知道如何在给定一个宿舍 ID 的情况下编写查询,但是在给定一组 id 的情况下我不知道如何编写查询。

非常感谢您的帮助。我肯定这是一个问题的重新张贴的地方,所以我会删除这一次一个答案/更好的搜索词找到了。

56483 次浏览

来自 3.3.3铁路指南的子集条件:

如果要使用 IN表达式查找记录,可以传递 数组到条件散列:

Customer.where(orders_count: [1,3,5])

这段代码将生成如下 SQL:

SELECT * FROM customers WHERE
(customers.orders_count IN (1,3,5))

您还可以使用 阿瑞尔语法:

Client.where(Client.arel_table[:order_count].in([1,3,5]))

将生成相同的 SQL。