Heim  >  Artikel  >  Datenbank  >  Wie füge ich Daten aus einer Tabelle in eine andere ein, indem ich „Insert...Select“ in Laravel verwende?

Wie füge ich Daten aus einer Tabelle in eine andere ein, indem ich „Insert...Select“ in Laravel verwende?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 19:46:02959Durchsuche

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

Einfügen von Daten mit „Einfügen...Auswählen“ in Laravel

Um Daten aus einer Tabelle in eine andere mit der Funktion „Einfügen“ einzufügen... Select-Anweisung in Laravel können Sie den folgenden Ansatz verwenden:

Während Laravel's Eloquent ORM oder Queries Insert...Select-Anweisungen nicht direkt unterstützen, können Sie die zugrunde liegenden Datenbankverbindungen nutzen, um das gewünschte Ergebnis zu erzielen.

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

Laravel 5.7 Update:

In Laravel 5.7.17 und höher können Sie auch die Methode insertUsing() verwenden, um ein ähnliches Ergebnis zu erzielen:

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

Das obige ist der detaillierte Inhalt vonWie füge ich Daten aus einer Tabelle in eine andere ein, indem ich „Insert...Select“ in Laravel verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn