Rubyはアクティブなレコードまたはオブジェクトの配列をハッシュの配列に変換します

プラサーンスニーラカンダン

:name、:ageなどのフィールドを持つActiveRecordモデルであるオブジェクトPersonsがあります。

人は、すべての人がアカウントを持っているアカウントと呼ばれるものと1:1の関係を持っています。

私はそうするいくつかのコードを持っています:

   Account.create!(person: current_person)

ここで、current_personは、指定された既存のPersonアクティブレコードオブジェクトです。

注:テーブルAccountにはperson_idのフィールドがあり、両方のモデルにhas_oneがあります。

今、私たちは一括作成のために以下のようなことをすることができると信じています:

 Account.create!([{person: person3},{person:: person2} ....])

私はの配列を持っていpersonsますが、すべて同じキーを持つハッシュの配列に変換するための最良の方法がわかりません。

基本的に、ハッシュの配列を配列変換するの逆が私がやりたいことです。

マノエル・M・ネト

このcreateメソッドは、ソースコードに示されているように、実際には各ハッシュを個別に永続化するため、おそらくそれはあなたが探しているものではありません。いずれにせよ、次のコードがその仕事をします:

  Account.create!(persons.map { |person| Hash[:person_id, person.id] })

同じデータベース操作ですべてのレコードを作成する必要があり、rails 6+を使用している場合は、insert_allメソッドを使用できます

  Account.insert_all(persons.map { |person| Hash[:person_id, person.id] })

以前のバージョンのrailsでは、activerecord-importgemの使用を検討する必要があります

  # Combination(1).to_a converts [1, 2, 3] to [[1], [2], [3]]
  Account.import [:person_id], persons.pluck(:id).combination(1).to_a

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

アクティブなレコードの列名はハッシュの配列に変換されます

分類Dev

オブジェクトをオブジェクトの配列(またはオブジェクトのコレクション)に変換する方法

分類Dev

JavaScript:オブジェクトの配列をハッシュマップに変換します

分類Dev

オブジェクトのアドレスをC ++でchar *またはchar配列に変換する

分類Dev

ActiveRecordオブジェクトの配列をハッシュに変換します

分類Dev

アクティブなレコードオブジェクトに配列を追加します

分類Dev

Postgresqlはオブジェクトの配列をオブジェクトのマップに変換します

分類Dev

MongoDB $ lookupは、配列をオブジェクトに変換したりフィールドを削除したりせずに、_idの配列をオブジェクトの配列に置き換えます

分類Dev

オブジェクトコンストラクターを配列またはハッシュテーブルに保存できますか?

分類Dev

キーに基づいてJSONオブジェクトまたはJSONオブジェクトの配列を変換する-Pythonのコード

分類Dev

オブジェクトを配列にプッシュし、配列のコンテンツを取得します

分類Dev

オブジェクトの配列をソートされた配列の配列に変換します

分類Dev

文字列の配列をJSONプロパティのオブジェクトの配列に変換します

分類Dev

ARMテンプレートは文字列の配列をオブジェクトの配列に変換します

分類Dev

Laravel 5コレクションでは、配列の配列ではなく、オブジェクトの配列をどのように返しますか?

分類Dev

オブジェクトの配列をオブジェクトの配列の配列に変換します

分類Dev

オブジェクトの配列からハッシュテーブルを初期化しますか?

分類Dev

オブジェクトの配列を配列からオブジェクトのオブジェクトプロパティに変換します

分類Dev

Laravelコレクションは配列をオブジェクトに変換します

分類Dev

角度またはJavaScriptを使用して、すべてのオブジェクトキーを配列内の別の配列にプッシュする方法は?

分類Dev

Rubyはオブジェクトをハッシュに変換します

分類Dev

メーターは新しいオブジェクトをコレクションの配列にプッシュします

分類Dev

整数配列オブジェクトを出力するとハッシュコードが得られるのに対し、char配列オブジェクトを出力するとJavaで値が得られるのはなぜですか?

分類Dev

コレクションのtoArray()メソッドがPHPUnitテストで呼び出されたときにネストされたオブジェクトを配列に変換しないのはなぜですか?

分類Dev

マングースプッシュ-オブジェクトの配列を検索または更新します

分類Dev

Rethinkdbは、オブジェクトの配列を単一のオブジェクトに変換します

分類Dev

MongoDBはオブジェクトの配列を単一のオブジェクトに変換します

分類Dev

Rubyは、JSON.parseのハッシュ配列内のすべての同じオブジェクトデータを更新します

分類Dev

JSはオブジェクトの配列をJSONGroupBy形式に変換します

Related 関連記事

  1. 1

    アクティブなレコードの列名はハッシュの配列に変換されます

  2. 2

    オブジェクトをオブジェクトの配列(またはオブジェクトのコレクション)に変換する方法

  3. 3

    JavaScript:オブジェクトの配列をハッシュマップに変換します

  4. 4

    オブジェクトのアドレスをC ++でchar *またはchar配列に変換する

  5. 5

    ActiveRecordオブジェクトの配列をハッシュに変換します

  6. 6

    アクティブなレコードオブジェクトに配列を追加します

  7. 7

    Postgresqlはオブジェクトの配列をオブジェクトのマップに変換します

  8. 8

    MongoDB $ lookupは、配列をオブジェクトに変換したりフィールドを削除したりせずに、_idの配列をオブジェクトの配列に置き換えます

  9. 9

    オブジェクトコンストラクターを配列またはハッシュテーブルに保存できますか?

  10. 10

    キーに基づいてJSONオブジェクトまたはJSONオブジェクトの配列を変換する-Pythonのコード

  11. 11

    オブジェクトを配列にプッシュし、配列のコンテンツを取得します

  12. 12

    オブジェクトの配列をソートされた配列の配列に変換します

  13. 13

    文字列の配列をJSONプロパティのオブジェクトの配列に変換します

  14. 14

    ARMテンプレートは文字列の配列をオブジェクトの配列に変換します

  15. 15

    Laravel 5コレクションでは、配列の配列ではなく、オブジェクトの配列をどのように返しますか?

  16. 16

    オブジェクトの配列をオブジェクトの配列の配列に変換します

  17. 17

    オブジェクトの配列からハッシュテーブルを初期化しますか?

  18. 18

    オブジェクトの配列を配列からオブジェクトのオブジェクトプロパティに変換します

  19. 19

    Laravelコレクションは配列をオブジェクトに変換します

  20. 20

    角度またはJavaScriptを使用して、すべてのオブジェクトキーを配列内の別の配列にプッシュする方法は?

  21. 21

    Rubyはオブジェクトをハッシュに変換します

  22. 22

    メーターは新しいオブジェクトをコレクションの配列にプッシュします

  23. 23

    整数配列オブジェクトを出力するとハッシュコードが得られるのに対し、char配列オブジェクトを出力するとJavaで値が得られるのはなぜですか?

  24. 24

    コレクションのtoArray()メソッドがPHPUnitテストで呼び出されたときにネストされたオブジェクトを配列に変換しないのはなぜですか?

  25. 25

    マングースプッシュ-オブジェクトの配列を検索または更新します

  26. 26

    Rethinkdbは、オブジェクトの配列を単一のオブジェクトに変換します

  27. 27

    MongoDBはオブジェクトの配列を単一のオブジェクトに変換します

  28. 28

    Rubyは、JSON.parseのハッシュ配列内のすべての同じオブジェクトデータを更新します

  29. 29

    JSはオブジェクトの配列をJSONGroupBy形式に変換します

ホットタグ

アーカイブ