Comment effectuer des insertions groupées dans Laravel à l'aide d'Eloquent ou de Query Builder ?

DDD
Libérer: 2024-11-21 06:06:09
original
525 Les gens l'ont consulté

How to Perform Bulk Inserts in Laravel Using Eloquent or Query Builder?

Effectuer des insertions groupées avec Eloquent ou Fluent dans Laravel

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();
Copier après la connexion

Cela produit le résultat :

[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]
Copier après la connexion

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
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal