Laravel では、データの一括挿入が簡単で、Eloquent ORM または Fluent クエリ ビルダーを利用できます。これを達成するには、
次のことを検討してください。 query:
$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
この一括挿入を実行するには、以下に概説するアプローチの 1 つを採用できます。
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 または Query Builder を使用して Laravel で一括挿入を実行する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。