首頁 >後端開發 >php教程 >如何使用 Eloquent 或查詢產生器在 Laravel 中執行批次插入?

如何使用 Eloquent 或查詢產生器在 Laravel 中執行批次插入?

DDD
DDD原創
2024-11-21 06:06:09595瀏覽

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

在 Laravel 中使用 Eloquent 或 Fluent 執行批次插入

在 Laravel 中,批次插入資料輕而易舉,您可以使用 Eloquent ORM 或 Fluent查詢建構器

考慮以下查詢:

$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

要執行此批次插入,您可以採用下面概述的方法之一:

雄辯方法:

$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 或查詢產生器在 Laravel 中執行批次插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn