在 Laravel 中,批量插入数据轻而易举,您可以使用 Eloquent ORM 或 Fluent 查询构建器为了实现这一点。
考虑以下内容查询:
$query = UserSubject::where('user_id', Auth::id()) ->select('subject_id') ->get();
这会产生输出:
[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]
您的目标是将这些数据传输到一个单独的表中,从而产生如下结构:
ID | user_id | subject_id 1 | 8 | 9 2 | 8 | 2
要执行此批量插入,您可以采用下面概述的方法之一:
Eloquent方法:
$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2] ]; UserSubject::insert($data);
此方法利用变异器和时间戳。
查询生成器方法:
$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2] ]; DB::table('user_subject')->insert($data);
虽然此方法是更直接的是,它不会调用变异器。
以上是如何使用 Eloquent 或查询生成器在 Laravel 中执行批量插入?的详细内容。更多信息请关注PHP中文网其他相关文章!