Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencipta Sisipan...Pilih Pernyataan dengan Laravel: Penyelesaian Pembina Soalan dan Fasih?

Bagaimana untuk Mencipta Sisipan...Pilih Pernyataan dengan Laravel: Penyelesaian Pembina Soalan dan Fasih?

Susan Sarandon
Lepaskan: 2024-11-01 02:20:28
asal
467 orang telah melayarinya

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

Buat Sisipan... Pilih Pernyataan dalam Laravel

S: Bagaimanakah cara saya mencipta Sisipan... Pilih pernyataan menggunakan ORM Fasih Laravel atau pertanyaan? Saya sedang bergelut untuk menukar sintaks SQL berikut:

<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>
Salin selepas log masuk

J: Walaupun tiada pendekatan satu pertanyaan langsung dalam Laravel dalam kebanyakan versi, terdapat kaedah alternatif untuk mencapai hasil yang serupa:

Kaedah 1: Menggunakan SQL Mentah dan Parameter Pengikat

<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>
Salin selepas log masuk

Kaedah 2: Menggunakan insertUsing() (Laravel 5.7 dan ke atas)

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

Nota: Kaedah ini membolehkan anda menggunakan semula pengikatan penyata SELECT sedia ada dan laksanakan pernyataan INSERT secara berasingan.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Sisipan...Pilih Pernyataan dengan Laravel: Penyelesaian Pembina Soalan dan Fasih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan