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!