Laravelを使用してMySQLに複数の行を挿入する方法


方法1: insertメソッドを使用する

$data = [
    ['column1' => 'value1', 'column2' => 'value2'],
    ['column1' => 'value3', 'column2' => 'value4'],
    // 追加の行をここに追加できます
];
DB::table('table_name')->insert($data);

上記の例では、table_nameに指定されたテーブルに、連想配列としてデータを渡して複数の行を挿入しています。各行のキーはテーブルのカラム名に対応し、値は挿入する値です。

方法2: insertメソッドとmapメソッドを組み合わせる

$data = collect([
    ['column1' => 'value1', 'column2' => 'value2'],
    ['column1' => 'value3', 'column2' => 'value4'],
    // 追加の行をここに追加できます
]);
DB::table('table_name')->insert($data->map(function ($item) {
    return array_merge($item, ['created_at' => now(), 'updated_at' => now()]);
})->toArray());

上記の例では、collect関数を使用してデータをコレクションに変換し、mapメソッドを使用して各行にcreated_atupdated_atの値を追加しています。最後に、toArrayメソッドを使用して配列に変換して行を挿入しています。

これらの方法を使用すると、Laravelを介して効率的にMySQLデータベースに複数の行を挿入することができます。