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

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

Susan Sarandon
發布: 2025-01-12 20:11:45
原創
320 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板