ホームページ >データベース >mysql チュートリアル >Laravelで単一のEloquentクエリを使用してデータベーステーブルに複数の行を挿入するにはどうすればよいですか?
大規模なデータセットを処理するには、多くの場合、データベース テーブルに多数の行を挿入する必要があります。 各行を手動で処理するのは非効率的になる可能性があります。 Laravel の Eloquent ORM とクエリ ビルダーは、一括挿入のためのエレガントなソリューションを提供し、パフォーマンスを大幅に向上させます。
行構造を維持しながらクエリ結果セットからデータを挿入するには、一括挿入が最適です。 Eloquent は簡単な方法を提供します:
<code class="language-php">$data = $query->select(['user_id', 'subject_id'])->get()->toArray(); Model::insert($data);</code>
toArray()
が追加されていることに注意してください。これは、データが insert
メソッドに対して正しい形式であることを確認するために重要です。
代わりに、クエリ ビルダーでも同様の機能が提供されます。
<code class="language-php">DB::table('table_name')->insert($data);</code>
Eloquent の insert
メソッドはモデル ミューテーター (タイムスタンプを含む) をトリガーすることに注意してください。これらをバイパスする必要がある場合は、クエリ ビルダーを使用すると、より直接的な制御が可能になります。
どちらの方法でも、$data
配列のサイズに関係なく、単一のデータベース クエリで複数の行を効率的に挿入できるため、反復挿入よりもはるかに効率的です。
以上がLaravelで単一のEloquentクエリを使用してデータベーステーブルに複数の行を挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。