嗨伙计们,我发现自己经常做一些变种。
基本上,我正在进行3个db调用,但我想在一个数据库调用中执行此操作(出于明显的性能原因)
user1=User.find(x)
user2=User.find(y)
user3=User.find(z)
我相信应该有一个简单的rails方法来处理这个
我正在使用mongoid,但是activerecord中心答案也很受欢迎
答案 0 :(得分:1)
users = User.find(1,2,3)
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (1, 2, 3)
<强>更新强> 如果要将结果存储在变量中:
user1, user2, user3 = User.find(1,2,3)
答案 1 :(得分:0)
users = User.find(x, y, z)
将返回包含结果的数组。
文档:
http://apidock.com/rails/ActiveRecord/Base/find/class
Person.find(1,2,6)#为ID为(1,2,6)的对象返回一个数组