Maison > Article > développement back-end > Comment effectuer des insertions groupées dans Laravel à l'aide d'Eloquent ou de Query Builder ?
Dans Laravel, l'insertion groupée de données est un jeu d'enfant et vous pouvez utiliser soit l'ORM Eloquent, soit le générateur de requêtes fluide pour y parvenir.
Considérez la requête suivante :
$query = UserSubject::where('user_id', Auth::id()) ->select('subject_id') ->get();
Cela produit le résultat :
[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]
Votre objectif est de transférer ces données dans une table séparée, résultant en une structure comme :
ID | user_id | subject_id 1 | 8 | 9 2 | 8 | 2
Pour effectuer cette insertion en masse, vous pouvez utiliser l'une des approches décrites ci-dessous :
Approche éloquente :
$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2] ]; UserSubject::insert($data);
Cette méthode utilise des mutateurs et des horodatages.
Approche du générateur de requêtes :
$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2] ]; DB::table('user_subject')->insert($data);
Bien que cette méthode soit plus directe, elle n'invoque pas de mutateurs. .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!