Maison > développement back-end > tutoriel php > Comment insérer plusieurs lignes dans Laravel à l'aide d'Eloquent ou de Query Builder ?

Comment insérer plusieurs lignes dans Laravel à l'aide d'Eloquent ou de Query Builder ?

Linda Hamilton
Libérer: 2024-11-22 17:26:15
original
356 Les gens l'ont consulté

How to Insert Multiple Rows in Laravel Using Eloquent or Query Builder?

Insertion de plusieurs lignes à l'aide de Fluent

Dans Laravel, vous pouvez utiliser Eloquent ou le générateur de requêtes pour insérer facilement plusieurs lignes de données dans une table de base de données à l'aide d'une seule requête.

Considérons la requête suivante :

$query = UserSubject::where('user_id', Auth::id())->select('subject_id')->get();
Copier après la connexion

Cette requête récupère un tableau de résultats, tels que :

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

Pour insérer ces résultats dans un autre tableau, vous pouvez utiliser les techniques suivantes :

Approche éloquente

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

Model::insert($data); // calls mutators including timestamps
Copier après la connexion

Approche du générateur de requêtes

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

DB::table('table')->insert($data); // does not call mutators
Copier après la connexion

Les deux approches vous permettent d'insérer plusieurs lignes avec une seule requête. L'approche Eloquent appelle des mutateurs de modèle et des horodatages, contrairement à l'approche du générateur de requêtes.

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