Взять запрос и загрузить массив с уникальными значениями из одного из полей запроса? - PullRequest
0 голосов
/ 16 февраля 2012

Rails 2.3.5

У меня есть запрос, результаты которого содержат штамп даты "week_of".Чтобы работать с результатами, мне нужен уникальный список дат «week_of» в отдельном массиве.

Я сделал то, что хотел, как показано ниже, мне просто интересно, есть ли более простой / короткий способ сделатьчто-то вроде этого (принять запрос, а затем загрузить массив с уникальными значениями в одном из полей запроса).Спасибо!

  @test = []

  @my_query.each do |x|
    if @test.size > 0
      flag = 0
      @test.each do |t|
        if t == x.week_of
          flag = 1
        end
      end
      if flag == 0
        @test << x.week_of
      end
    else
      @test << x.week_of
    end
  end

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

попробуйте

@test = []
@my_query.each do |x|
  @test << x.week_of
end
@test.uniq!
0 голосов
/ 16 февраля 2012

Следующий код превратит список результатов в список уникальных записей week_of:

@my_query.map do |x| x.week_of end.uniq

И map, и uniq описаны в http://www.ruby -doc.org / core-1.9.3 / Array.html .

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