次のような質問があります。
$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
は任意の数の行を予期できるため、未知の数の行を繰り返す方法がわからないことです。
Eloquentまたはクエリービルダーを使用してLaravelに一括挿入するのは本当に簡単です。
次のような方法があります。
$data = array(
array('user_id'=>'Coder 1', 'subject_id'=> 4096),
array('user_id'=>'Coder 2', 'subject_id'=> 2048),
//...
);
Model::insert($data); // Eloquent approach
DB::table('table')->insert($data); // Query Builder approach
あなたの場合、あなたは既に$query
変数の中にデータを持っています。
eloquentを使う
$data = array(
array('user_id'=>'Coder 1', 'subject_id'=> 4096),
array('user_id'=>'Coder 2', 'subject_id'=> 2048),
//...
);
Model::insert($data);