在 Laravel 中,您可以使用 Eloquent 或查询构建器使用单个查询轻松地将多行数据插入到数据库表中。
考虑以下查询:
$query = UserSubject::where('user_id', Auth::id())->select('subject_id')->get();
这个查询检索结果数组,例如:
[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]
要将这些结果插入到另一个表中,可以使用以下技术:
$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2] ]; Model::insert($data); // calls mutators including timestamps
$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2] ]; DB::table('table')->insert($data); // does not call mutators
两种方法都允许您使用单个查询插入多行。 Eloquent 方法调用模型变异器和时间戳,而查询构建器方法则不会。
以上是如何使用 Eloquent 或查询生成器在 Laravel 中插入多行?的详细内容。更多信息请关注PHP中文网其他相关文章!