Laravel Eloquent:是否可以使用“create”方法将多条记录作为数组插入?

Mau*_*att 3 laravel eloquent

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

$flight = App\Flight::create(['name' => 'Flight 10']);
Run Code Online (Sandbox Code Playgroud)

是否可以使用不循环的create方法插入多条记录。IE

$flight = App\Flight::create([['name' => 'Flight 10'], ['name' => 'Flight 11']]);
Run Code Online (Sandbox Code Playgroud)

目前我正在使用插入方法,但它不处理created_at和updated_at值,我必须使其可填充。

$flight = App\Flight::insert([['name' => 'Flight 10'], ['name' => 'Flight 11']);
Run Code Online (Sandbox Code Playgroud)

Tsa*_*oga 9

create()支持只插入一条记录

insert()支持插入多条记录

createMany()仅支持关系,而不支持模型。

所以你只能为这个雄辩的构建者选择insert()方法。

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

$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent();
Run Code Online (Sandbox Code Playgroud)

这将适用于insert()无需手动设置时间戳的方法:

$flight = App\Flight::insert([['name' => 'Flight 10'], ['name' => 'Flight 11']);
Run Code Online (Sandbox Code Playgroud)