【问题标题】:Convert an ActiveRecord relation to a specifically keyed Hash将 ActiveRecord 关系转换为特定键控哈希
【发布时间】:2019-02-08 16:22:41
【问题描述】:

我有一个来自以下查询的 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" => [..]}

【问题讨论】:

  • 您能否也添加您想要的输出?
  • 我编辑了我的帖子以包含所需的哈希输出

标签: ruby-on-rails ruby


【解决方案1】:

您似乎想要group_by job_type。所以,试一试:

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

【讨论】:

    猜你喜欢
    • 2017-10-27
    • 2023-03-05
    • 2015-07-09
    • 2019-10-27
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多