ホームページ > データベース > mysql チュートリアル > Laravel Eloquent とクエリビルダーを使用して一括挿入を効率的に実行するにはどうすればよいですか?

Laravel Eloquent とクエリビルダーを使用して一括挿入を効率的に実行するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-12 20:17:42
オリジナル
761 人が閲覧しました

How to Efficiently Perform Bulk Inserts with Laravel Eloquent and Query Builder?

Laravel Eloquent/Fluent を使用して複数行のデータをバッチ挿入する

この例では、クエリ結果データを別のテーブルに挿入し、結果を特定の形式に変換する必要があります。主な課題は、結果の行数の潜在的な変化に対処することです。

Laravel の一括挿入機能を使用する

幸いなことに、Laravel の Eloquent とクエリ ビルダーは、便利な一括挿入メソッドを提供します。これらの方法を利用して、望ましい結果を達成できます:

  1. 雄弁な方法:

    <code class="language-php"> $insertData = collect($query->get())->map(function ($row) {
         return [
             'user_id'   => $row->user_id,
             'subject_id' => $row->subject_id,
         ];
     });
    
     Model::insert($insertData->toArray());</code>
    ログイン後にコピー
  2. クエリビルダーメソッド:

    <code class="language-php"> $insertData = collect($query->get())->map(function ($row) {
         return [
             'user_id'   => $row->user_id,
             'subject_id' => $row->subject_id,
         ];
     });
    
     DB::table('new_table')->insert($insertData->toArray());</code>
    ログイン後にコピー

どちらの場合も、$insertData 変数には必要な形式の変換データが含まれます。 insert メソッドは、指定されたテーブルへの一括挿入操作を処理します。 insert メソッドがデータを正しく処理できるようにするには、$insertData メソッドを使用して ->toArray() を配列に変換する必要があることに注意してください。

以上がLaravel Eloquent とクエリビルダーを使用して一括挿入を効率的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート