Maison >base de données >tutoriel mysql >Comment puis-je insérer efficacement plusieurs lignes dans une base de données à l'aide d'Eloquent ou du générateur de requêtes de Laravel ?

Comment puis-je insérer efficacement plusieurs lignes dans une base de données à l'aide d'Eloquent ou du générateur de requêtes de Laravel ?

DDD
DDDoriginal
2025-01-12 20:21:49108parcourir

How Can I Efficiently Insert Multiple Rows into a Database Using Laravel's Eloquent or Query Builder?

Utilisez Eloquent ou Query Builder pour insérer efficacement plusieurs lignes de données

Lorsque vous devez insérer un nombre inconnu de plusieurs lignes de données à partir d'une seule requête, vous pouvez utiliser Eloquent ORM ou Query Builder de Laravel pour effectuer des opérations d'insertion en masse, simplifiant ainsi le processus et améliorant l'efficacité.

À l'aide de la $query que vous fournissez, ses données peuvent être extraites dans un tableau associatif :

<code>$data = $query->toArray();</code>

Vous disposez désormais d'un tableau contenant plusieurs lignes de données dans un format adapté aux insertions groupées.

Méthodes éloquentes

Pour effectuer des insertions groupées à l'aide d'Eloquent, utilisez la syntaxe suivante :

<code>UserSubject::insert($data); // 调用 Eloquent mutator,包括时间戳</code>

Cette méthode accepte un tableau de tableaux associatifs comme paramètre et effectue une opération d'insertion pour chaque ligne.

Méthode Query Builder

Alternativement, si vous préférez utiliser l'approche Query Builder, vous pouvez utiliser la syntaxe suivante :

<code>DB::table('target_table')->insert($data); // 不调用 mutator</code>

La méthode Query Builder insère les données directement dans la table spécifiée sans appeler le mutateur Eloquent.

En utilisant l'une des méthodes ci-dessus, vous pouvez insérer efficacement plusieurs lignes dans une nouvelle table à partir d'une seule requête, vous assurant ainsi d'obtenir la structure de données souhaitée.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn