"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-12-21
Parcourir:982

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 distincte 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 :

Utilize Model::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 :

Employ DB::table('table')->insert ($données); pour insérer des lignes sans appeler de mutateurs.

Exemple :

Étant donné un tableau de données de ligne :

$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);
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3