Maison > base de données > tutoriel mysql > Comment insérer des données d'une table à une autre à l'aide de Insert...Select dans Laravel ?

Comment insérer des données d'une table à une autre à l'aide de Insert...Select dans Laravel ?

Mary-Kate Olsen
Libérer: 2024-10-28 19:46:02
original
1143 Les gens l'ont consulté

How to Insert Data from One Table to Another Using Insert...Select in Laravel?

Insertion de données à l'aide d'Insérer... Sélectionner dans Laravel

Afin d'insérer des données d'une table à une autre à l'aide de l'Insérer... Instruction Select dans Laravel, vous pouvez utiliser l'approche suivante :

Bien que l'ORM ou les requêtes éloquentes de Laravel ne prennent pas en charge les instructions Insert...Select directement, vous pouvez exploiter les connexions à la base de données sous-jacentes pour obtenir le résultat souhaité.

<code class="php">/* Obtain the original select query and its bindings */
$select = User::where(...)
                  ->where(...)
                  ->whereIn(...)
                  ->select(['email', 'moneyOwing']);
$bindings = $select->getBindings();

/* Construct the insert query */
$insertQuery = 'INSERT INTO user_debt_collection (email, dinero) ' . $select->toSql();

/* Execute the insert query using the bindings */
\DB::insert($insertQuery, $bindings);</code>
Copier après la connexion

Mise à jour de Laravel 5.7 :

Dans Laravel 5.7.17 et versions ultérieures, vous pouvez également utiliser la méthode insertUsing() pour obtenir un résultat similaire :

<code class="php">DB::table('user_debt_collection')->insertUsing(['email', 'dinero'], $select);</code>
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!

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