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