通过单个db调用存储多个变量

时间:2011-04-28 16:06:18

标签: ruby-on-rails ruby

  • 更新:我需要将结果与变量相关联,并明显维持顺序。

嗨伙计们,我发现自己经常做一些变种。

基本上,我正在进行3个db调用,但我想在一个数据库调用中执行此操作(出于明显的性能原因)

user1=User.find(x)
user2=User.find(y)
user3=User.find(z)

我相信应该有一个简单的rails方法来处理这个

我正在使用mongoid,但是activerecord中心答案也很受欢迎

2 个答案:

答案 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)的对象返回一个数组