首頁 >資料庫 >mysql教程 >如何在 Laravel 中使用 Eloquent 或查詢生成器批次插入多行?

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

Susan Sarandon
Susan Sarandon原創
2025-01-12 20:11:45321瀏覽

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

利用Eloquent/Fluent從單一查詢批次插入多行資料

問題:

您有一個查詢傳回使用者ID和科目ID的陣列。如何將這些行插入另一個表中,確保結果表具有以下格式:

<code>ID | user_id | subject_id
1 | 8 | 9
2 | 8 | 2</code>

答案:

Laravel 提供兩種方法用於批次插入資料到表中:使用 Eloquent 或 Query Builder。

Eloquent 方法:

<code class="language-php">$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2],
];

UserSubject::insert($data);</code>

Query Builder 方法:

<code class="language-php">DB::table('table')->insert($data);</code>

這兩種方法都接受一個關聯數組,其中每個數組代表要插入的一行。使用 Eloquent 方法時會呼叫 mutator(例如時間戳記),而使用 Query Builder 方法時不會。

以上是如何在 Laravel 中使用 Eloquent 或查詢生成器批次插入多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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