Laravel雄辩:是否可以使用;创建;将多个记录作为数组插入的方法?

Laravel雄辩:是否可以使用;创建;将多个记录作为数组插入的方法?,laravel,eloquent,Laravel,Eloquent,正如Laravel文件所说,我们可以使用create-elount方法插入“a”记录 $flight = App\Flight::create(['name' => 'Flight 10']); 是否可以使用不带循环的create方法插入多个记录。i、 e $flight = App\Flight::create([['name' => 'Flight 10'], ['name' => 'Flight 11']]); 目前我使用的是insert方法,但它不负责创建和更新的值

正如Laravel文件所说,我们可以使用create-elount方法插入“a”记录

$flight = App\Flight::create(['name' => 'Flight 10']);
是否可以使用不带循环的create方法插入多个记录。i、 e

$flight = App\Flight::create([['name' => 'Flight 10'], ['name' => 'Flight 11']]);
目前我使用的是insert方法,但它不负责创建和更新的值,我必须使这些值可填充

$flight = App\Flight::insert([['name' => 'Flight 10'], ['name' => 'Flight 11']);

insert不添加时间戳值,因此您必须手动输入

 $data = [
    [
      'name' => 'Flight 10'
       'created_at' => date('Y-m-d H:i:s'),
       'updated_at' => date('Y-m-d H:i:s')
    ],
    [
      'name' => 'Flight 11'
       'created_at' => date('Y-m-d H:i:s'),
       'updated_at' => date('Y-m-d H:i:s')
    ]
 ];

App\Flight::insert($data);

手动填充时间戳

$data_to_create = [
[
  'name' => 'Flight 10'
   'created_at' => date('Y-m-d H:i:s'),
   'updated_at' => date('Y-m-d H:i:s')
],
[
  'name' => 'Flight 11'
   'created_at' => date('Y-m-d H:i:s'),
   'updated_at' => date('Y-m-d H:i:s')
]
];

App\Flight::insert($data_to_create);
create()
只支持插入一条记录

insert()
支持插入多条记录

createMany()
只支持关系,不支持模型

因此,对于这个雄辩的生成器,您只能选择
insert()
方法

但是,您可以在迁移中使用
useCurrent()
,因此默认值将自动设置当前时间

$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent();
这将适用于
insert()
方法,而无需手动设置时间戳:

$flight=App\flight::insert([['name'=>'flight 10'],['name'=>'flight 11']);
])

App\Flight::createMany($data)

$data = [
[
  'name' => 'Flight 10'
   'created_at' => date('Y-m-d H:i:s'),
   'updated_at' => date('Y-m-d H:i:s')
],
[
  'name' => 'Flight 11'
   'created_at' => date('Y-m-d H:i:s'),
   'updated_at' => date('Y-m-d H`enter code here`:i:s')
]