Хранение нескольких переменных с помощью одного вызова БД - PullRequest
0 голосов
/ 28 апреля 2011
  • обновление: мне нужно, чтобы результаты были связаны с переменными, и, очевидно, поддержание порядка.

Привет, ребята, я часто делаю какой-то вариант.

По сути, я делаю вызовы по 3 дБ, но я бы хотел сделать это за один вызов базы данных (по очевидным причинам производительности)

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

Я считаю, что должен быть простой метод рельсов, чтобы справиться с этим

Я использую mongoid, но ответы на активные записи также приветствуются

Ответы [ 2 ]

1 голос
/ 28 апреля 2011
users = User.find(1,2,3)

User Load (0.5ms)  SELECT "users".* FROM "users" WHERE "users"."id" IN (1, 2, 3)

UPDATE: Если вы хотите сохранить результат в переменных:

user1, user2, user3 = User.find(1,2,3)
0 голосов
/ 28 апреля 2011

users = User.find(x, y, z) вернет массив с вашими результатами.

Документация:

http://apidock.com/rails/ActiveRecord/Base/find/class

Person.find (1, 2, 6) # возвращает массив для объектов с идентификаторами в (1, 2, 6)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...