ホームページ  >  記事  >  バックエンド開発  >  Eloquent または Query Builder を使用して Laravel で一括挿入を実行する方法は?

Eloquent または Query Builder を使用して Laravel で一括挿入を実行する方法は?

DDD
DDDオリジナル
2024-11-21 06:06:09525ブラウズ

How to Perform Bulk Inserts in Laravel Using Eloquent or Query Builder?

Laravel で Eloquent または Fluent を使用して一括挿入を実行する

Laravel では、データの一括挿入が簡単で、Eloquent ORM または Fluent クエリ ビルダーを利用できます。これを達成するには、

次のことを検討してください。 query:

$query = UserSubject::where('user_id', Auth::id())
                    ->select('subject_id')
                    ->get();

これにより、出力が生成されます:

[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]

あなたの目標は、このデータを別のテーブルに転送し、次のような構造になることです:

ID | user_id | subject_id
1   | 8       | 9
2   | 8       | 2

この一括挿入を実行するには、以下に概説するアプローチの 1 つを採用できます。

Eloquentアプローチ:

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

UserSubject::insert($data);

このメソッドはミューテーターとタイムスタンプを利用します。

クエリ ビルダー アプローチ:

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

DB::table('user_subject')->insert($data);

このメソッドはより直接的には、ミューテーターを呼び出しません。

以上がEloquent または Query Builder を使用して Laravel で一括挿入を実行する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。