Как получить результат нескольких запросов в области? - PullRequest
0 голосов
/ 27 декабря 2011

У меня есть таблица dummy_names, которая содержит случайные имена и фамилии.В БД, где для записи есть имя first_name, last_name равно NULL, и наоборот.

Я пытаюсь написать область действия, которая возвращает случайное имя (случайное first_name + случайное last_name из этогов состоянии).

Что я здесь не так делаю ...?

scope :random_name, lambda {
    fname = self.where('first_name IS NOT NULL').first
    lname = self.where('last_name IS NOT NULL').first
    fname.first_name.to_s + " " + lname.last_name.to_s
  }

1 Ответ

2 голосов
/ 27 декабря 2011

здесь мы идем

#in your initializer
module ActiveRecord
  class Base
    def self.random
      if (c = count) != 0
        find(:first, :offset =>rand(c))
      end
    end
  end
end



#in your model
def self.random_name
  "#{self.where('first_name IS NOT NULL').random.first_name} #{self.where('last_name IS NOT NULL').random.last_name}"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...