Insérer plusieurs lignes simultanément avec Eloquent ou Fluent
Cette enquête explore comment insérer plusieurs lignes dans une base de données à l'aide d'une seule requête dans Eloquent (ou courant) cadre. L'exemple donné récupère les données en utilisant UserSubject::where('user_id', Auth::id())->select('subject_id')->get();. Cependant, le résultat souhaité nécessite l'insertion de ces données dans une table séparée avec une structure de colonnes spécifique.
Solution :
L'insertion groupée de données est facilement facilitée par Eloquent ou la requête constructeur. Considérez les techniques suivantes :
Utiliser le modèle ::insert($data); pour insérer plusieurs lignes. Cette approche intègre des mutateurs, y compris des horodatages.
Employer DB::table('table')->insert ($données); pour insérer des lignes sans appeler des mutateurs.
Exemple :
Étant donné un tableau de données de lignes :
$data = [ ['user_id'=>'Coder 1', 'subject_id'=> 4096], ['user_id'=>'Coder 2', 'subject_id'=> 2048], //... ];
Les insérer à l'aide d'Eloquent :
Model::insert($data);
Les insérer à l'aide du générateur de requêtes :
DB::table('table')->insert($data);
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!