Преобразовать отношение ActiveRecord в хеш со специальным ключом - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть набор результатов ActiveRecord из следующего запроса:

people = People.where(job_type: ["Job Type 1", "Job Type 2"])

Это возвращает отношение AcitveRecord.

Я хочу взять people и преобразоватьэто Hash, где каждый ключ - job_type, а значение - массив записей, соответствующих этому job_type.

Самое близкое, что я нашел, это people.as_json, но он дает массив хешей, а не тот формат, с которым мне хотелось бы работать.

Какой элегантный Ruby-способ преобразования данных людейсостав?В идеале это будет выглядеть так:

my_hash = {"Job Type 1" => [record1, record2..], "Job Type 2" => [..]}

1 Ответ

0 голосов
/ 08 февраля 2019

Похоже, вы хотите group_by job_type.Итак, попробуем:

people = People.where(job_type: ["Job Type 1", "Job Type 2"]).group_by(&:job_type)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...