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
Linda Hamiltonoriginal
2024-11-22 17:26:15287parcourir

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();

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}]

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

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

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!

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