簡體   English   中英

從哈希和數組中的數據插入數據庫

[英]Inserting into DB from data in Hash and Arrays

我已經定義了我的哈希和數組,如下所示:

POPULATION_SUMMARIES = {
    'ACO' => [   # year , member_count
        [2013, 523031],
        [2012, 492349],
        [2011, 432573]
    ]
}

因此,我要插入的表是PopulationSummary 它的行/字段是這樣的:

    ACO, 2013, 523031
    ACO, 2012, 492349
    ACO, 2011, 432573
Org_id, year, member_count

在DB中,它實際上是那些“ ACO”或其他內容的ID,它們基本上是另一個表(即組織表)的外鍵。

因此,我嘗試遍歷此過程,並讀取結構並將其寫入表中。 我走到了這樣的程度:

  POPULATION_SUMMARIES.each do |k, v|
    org_id = Organization.find_by_name(k).id  # so for example ID of ACO
    v.each do |o| # now read elements of each array
      # HERE :(  QUESTION
    end
  end

因此,我遇到的問題是如何說好,從數組中讀取的第一個數字插入到Year字段中,從表中讀取的第二個數字插入:在member_count字段中插入...。

這應該使您接近:

POPULATION_SUMMARIES.each do |org_name, summaries|
  org = Organization.find_or_create_by_name(org_name)

  summaries.each do |year, member_count|
    PopulationSummary.create({
      :organization => org,
      :year         => year,
      :member_count => member_count
    })
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM