我使用以下代码逐个插入记录。
foreach($data["SportsTypes"] as $SportsTypeID) {
$userSportsType = new \App\Models\User\UserSportsTypeModel();
$userSportsType->UserID = 1;
$userSportsType->SportsTypeID = $SportsTypeID;
$userSportsType->save();
}
我可以进行批量插入,以便在迭代中摆脱保存过程吗?
答案 0 :(得分:0)
您必须使用 foreach 插入多个模型或使用查询构建器。
有些人要求,但Tayler Otwell建议在这些情况下使用查询生成器。 Reference
查询构建器
DB::table('users')->insert([
['email' => 'taylor@example.com', 'votes' => 0],
['email' => 'dayle@example.com', 'votes' => 0]
]);
答案 1 :(得分:0)
使用Eloquent或查询构建器在Laravel中进行批量插入非常容易。
您可以使用以下方法。
$data = array(
['UserID' => '1', 'SportsTypeID' => $SportsTypeID],
['UserID' => '2', 'SportsTypeID' => $SportsTypeID]
);
User::insert($data); // Eloquent
DB::table('users')->insert($data); // Query Builder
希望这会有所帮助。