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

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

Linda Hamilton
Linda Hamilton原创
2024-11-22 17:26:15354浏览

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