我有以下查询:
$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
我的问题是,$query可以预期任意数量的行,因此不确定如何遍历未知数量的行。
$query
使用Eloquent或查询构建器在Laravel中进行批量插入确实很容易。
您可以使用以下方法。
$data = [ ['user_id'=>'Coder 1', 'subject_id'=> 4096], ['user_id'=>'Coder 2', 'subject_id'=> 2048], //... ]; Model::insert($data); // Eloquent approach DB::table('table')->insert($data); // Query Builder approach
在您的情况下,您已经在$query变量中包含了数据。