使用 Laravel 的 Eloquent 和查询生成器高效插入多个数据库行
本指南演示了如何使用 Laravel 的 Eloquent ORM 和查询生成器将多行插入数据库表中。 我们将重点关注从单个查询结果中高效批量插入的技术。
使用 Eloquent 进行批量插入
Eloquent 的 insert
方法提供了一种执行批量插入的简化方法。 这种方法自动处理模型变异器,包括时间戳。
<code class="language-php">$data = [ ['user_id' => 'Coder 1', 'subject_id' => 4096], ['user_id' => 'Coder 2', 'subject_id' => 2048], // ... more data rows ]; Model::insert($data);</code>
利用查询生成器进行批量插入
Laravel 查询生成器在 insert
外观上提供了替代的 DB
方法。 此方法绕过了 Eloquent 的模型变异器,提供了一种稍快但灵活性较差的方法。
<code class="language-php">$data = [ ['user_id' => 'Coder 1', 'subject_id' => 4096], ['user_id' => 'Coder 2', 'subject_id' => 2048], // ... more data rows ]; DB::table('table_name')->insert($data);</code>
这两种方法都可以有效处理大量行的批量插入,从而简化 Laravel 应用程序中的数据库交互。 考虑模型变异器功能的需求,选择最适合您需求的方法。
以上是如何使用 Eloquent 或 Laravel 中的查询生成器将多行插入数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!