ホームページ >バックエンド開発 >PHPチュートリアル >Eloquent または Query Builder を使用して Laravel に複数の行を挿入するにはどうすればよいですか?

Eloquent または Query Builder を使用して Laravel に複数の行を挿入するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-22 17:26:15288ブラウズ

How to Insert Multiple Rows in Laravel Using Eloquent or Query Builder?

Fluent を使用した複数行の挿入

Laravel では、Eloquent またはクエリ ビルダーを使用して、単一のクエリを使用して複数行のデータをデータベース テーブルに簡単に挿入できます。

次のクエリを考えてみましょう:

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

Thisクエリは、次のような結果の配列を取得します。

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

これらの結果を別のテーブルに挿入するには、次の手法を使用できます。

雄弁なアプローチ

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

Model::insert($data); // calls mutators including timestamps

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

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

DB::table('table')->insert($data); // does not call mutators

どちらのアプローチでも、単一のクエリで複数の行を挿入できます。 Eloquent アプローチはモデル ミューテーターとタイムスタンプを呼び出しますが、クエリ ビルダー アプローチは呼び出しません。

以上がEloquent または Query Builder を使用して Laravel に複数の行を挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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