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

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

Susan Sarandon
Libérer: 2024-11-21 06:47:09
original
736 Les gens l'ont consulté

How Can I Insert Multiple Rows into a Database Using Eloquent or the Query Builder?

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 :

  • Approche éloquente :

Utiliser le modèle ::insert($data); pour insérer plusieurs lignes. Cette approche intègre des mutateurs, y compris des horodatages.

  • Approche du générateur de requêtes :

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],
    //...
];
Copier après la connexion

Les insérer à l'aide d'Eloquent :

Model::insert($data);
Copier après la connexion

Les insérer à l'aide du générateur de requêtes :

DB::table('table')->insert($data);
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal