Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie erstelle ich Insert...Select-Anweisungen mit Laravel: Eloquent- und Query Builder-Lösungen?

Susan Sarandon
Freigeben: 2024-11-01 02:20:28
Original
324 Leute haben es durchsucht

How to Create Insert...Select Statements with Laravel: Eloquent and Query Builder Solutions?

Einfügung erstellen... Anweisungen in Laravel auswählen

F: Wie erstelle ich eine Einfügung... Anweisung mit Laravel's Eloquent ORM oder Abfragen auswählen? Ich habe Schwierigkeiten, die folgende SQL-Syntax zu konvertieren:

<code class="sql">Insert into Demand (Login, Name, ApptTime, Phone, Physician, Location, FormatName, FormatDate, FormatTime, ApptDate, FormatPhone, cellphone)
Select Login, Name, ApptTime, Phone, Physician, Location, FormatName, FormatDate, FormatTime, ApptDate, FormatPhone, cellphone from " . [dbname] . "
    Where " . $where_statement</code>
Nach dem Login kopieren

A: Während es in Laravel in den meisten Versionen keinen direkten Ein-Abfrage-Ansatz gibt, gibt es alternative Methoden dazu Erzielen Sie ein ähnliches Ergebnis:

Methode 1:Verwenden von Raw SQL und Bindungsparametern

<code class="php">$select = User::where(...)->where(...)->select(['email', 'moneyOwing']);
$bindings = $select->getBindings();

$insertQuery = 'INSERT into user_debt_collection (email, dinero) ' . $select->toSql();

DB::insert($insertQuery, $bindings);</code>
Nach dem Login kopieren

Methode 2:Verwenden von insertUsing() (Laravel 5.7 und höher)

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

Hinweis: Mit diesen Methoden können Sie die Bindungen der vorhandenen SELECT-Anweisung wiederverwenden und die INSERT-Anweisung separat ausführen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Insert...Select-Anweisungen mit Laravel: Eloquent- und Query Builder-Lösungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!