📜  如何在 laravel 中使用 create 方法一次插入多个数据 - PHP (1)

📅  最后修改于: 2023-12-03 15:38:19.193000             🧑  作者: Mango

如何在 Laravel 中使用 create 方法一次插入多个数据

在 Laravel 中,create 方法允许我们一次性创建一个新的 Eloquent 模型并将其保存到数据库中。通常情况下,我们只需要为一个模型对象设置属性值并调用 create 方法即可完成一次插入。但是如果我们需要一次插入多个数据时,我们该如何处理呢?

使用数组方式

我们可以使用数组方式将多个数据传递给 create 方法,例如:

$data = [
    ['title' => 'Title 1', 'body' => 'Body 1'],
    ['title' => 'Title 2', 'body' => 'Body 2'],
];

Model::create($data);

在以上示例中,我们为 $data 数组添加了两个新数据,然后将数组作为参数传递给 create 方法。Laravel 将会在数据库中创建两条新记录。

使用集合方式

如果我们需要一次性插入多个数据时,还可以使用 Laravel 集合提供的 createMany 方法,例如:

$data = collect([
    ['title' => 'Title 1', 'body' => 'Body 1'],
    ['title' => 'Title 2', 'body' => 'Body 2'],
]);

Model::createMany($data->toArray());

在以上示例中,我们使用 collect 函数将多个数据放入一个集合中,然后将集合转换为数组,并使用 createMany 方法将数据插入到数据库中。

需要注意的是,在使用 createMany 方法时,我们需要将集合转换为数组,并调用 toArray 方法,否则会抛出异常。

总结

以上就是在 Laravel 中使用 create 方法一次插入多个数据的两种常用方式,分别是使用数组和集合,我们可以根据项目的实际需求选择合适的方式。