Пересечение столбцов ActiveReord в Ruby Rails для проверки наличия нулевых значений - PullRequest
0 голосов
/ 19 октября 2011

Допустим, у меня есть некоторые данные, которые возвращаются вызовом ActiveRecord find_by_sql.Данные, возвращаемые для одного запроса, выглядят так:

    id UserId City      State   Zip     Country   Email        Phone   Age
    1  fred   Atlanta   GA     300909    null     me@me.com    null     35
    2  Sue    New York  NY     99801     null     Sue@me.com   null     38
    3  Bill   Dallas    TX     87654     null     bill@me.com  null     25

Затем у меня есть другой набор данных со следующими значениями:

    id UserId City      State   Zip     Country   Email     Phone    Age
    4  fred   null       GA     300909    null     null     555-1212  null
    5  Sue    null       NY     99801     null     null     555-1213  null
    6  Bill   null       TX     87654     null     null     888-2121  null

Поскольку у нас есть дополнительные поля, мы не знаем, какиеданные будут заполняться по сценарию.Я хочу иметь возможность перечислять на странице все поля, для которых у меня есть данные, и не отображать пустые столбцы для каждого сценария.В этом примере предположим, что любые значения в первой строке будут заполнены для остальных строк в этом наборе данных.Как примечание, я также должен экспортировать эти значения как csv, и не хочу пустых значений там также.Я искал и искал, и не понял это.Я уверен, что в Ruby должен быть способ сделать это.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 19 октября 2011

Если у вас мало записей, вы можете легко сделать это в ruby.Если у вас много записей, то это может замедлиться, и вам, вероятно, придется использовать базу данных немного больше, чтобы проверить наличие пустых полей.Вот основная суть того, как это сделать в ruby.

@records = Record.find_by_sql('crazy_sql_here')
if @records.any? { |record| record.email.present? }
  # Display row and heading
end

В зависимости от того, какую библиотеку вы используете для экспорта данных в CSV, вы должны иметь возможность установить, какие столбцы использовать.Просто пропустите поля страны или адреса электронной почты, если нет записей.

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