首页 > 数据库 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板