📅  最后修改于: 2023-12-03 15:38:19.193000             🧑  作者: Mango
在 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 方法一次插入多个数据的两种常用方式,分别是使用数组和集合,我们可以根据项目的实际需求选择合适的方式。