Utiliser Eloquent/Fluent pour insérer par lots plusieurs lignes de données à partir d'une seule requête
Question :
Vous avez une requête qui renvoie un tableau d'ID utilisateur et d'ID de compte. Comment puis-je insérer ces lignes dans un autre tableau, en m'assurant que le tableau résultant a le format suivant :
<code>ID | user_id | subject_id 1 | 8 | 9 2 | 8 | 2</code>
Réponse :
Laravel propose deux méthodes pour insérer des données par lots dans des tables : en utilisant Eloquent ou Query Builder.
Méthode éloquente :
<code class="language-php">$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2], ]; UserSubject::insert($data);</code>
Méthode Query Builder :
<code class="language-php">DB::table('table')->insert($data);</code>
Les deux méthodes acceptent un tableau associatif, où chaque tableau représente une ligne à insérer. Les mutateurs (tels que les horodatages) sont appelés lors de l'utilisation des méthodes Eloquent, mais pas lors de l'utilisation des méthodes Query Builder.
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!