首页 > 后端开发 > php教程 > 如何使用 Eloquent 或查询生成器在 Laravel 中插入多行?

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

Linda Hamilton
发布: 2024-11-22 17:26:15
原创
357 人浏览过

How to Insert Multiple Rows in Laravel Using Eloquent or Query Builder?

使用 Fluent 插入多行

在 Laravel 中,您可以使用 Eloquent 或查询构建器使用单个查询轻松地将多行数据插入到数据库表中。

考虑以下查询:

$query = UserSubject::where('user_id', Auth::id())->select('subject_id')->get();
登录后复制

这个查询检索结果数组,例如:

[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]
登录后复制

要将这些结果插入到另一个表中,可以使用以下技术:

Eloquent Approach

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

Model::insert($data); // calls mutators including timestamps
登录后复制

查询生成器方法

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

DB::table('table')->insert($data); // does not call mutators
登录后复制

两种方法都允许您使用单个查询插入多行。 Eloquent 方法调用模型变异器和时间戳,而查询构建器方法则不会。

以上是如何使用 Eloquent 或查询生成器在 Laravel 中插入多行?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板