web-dev-qa-db-ja.com

Laravel 5.2にバッチ挿入

大きなForeachループの最後に、計算量の多いAPIとほぼ100のデータベースフィールドを使用しています。

すべての反復で、データベースにデータを挿入します。最後に一度にデータを挿入したい(CodeIgniterのようなバッチ挿入)。

どの組織も、反復の最後にすべてのデータを挿入する方法を知っています。すべての反復ではなく、データベースに行を挿入します。

ループの最後にデータを挿入したい。どんな助けやアイデアも歓迎します。

11
Irfan Ali

一括挿入には insert() メソッドを使用します。まず、次の構造で配列を作成します。

$data = [
    ['name' => 'John', 'age' => 25],
    ['name' => 'Maria', 'age' => 31],
    ['name' => 'Julia', 'age' => 55],
];

次にEloquentモデルを使用してデータを挿入します。

Model::insert($data);

またはクエリビルダーを使用する:

DB::table('table_name')->insert($data);
24
Alexey Mezenin