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