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

Susan Sarandon
Lepaskan: 2024-11-01 02:20:28
asal
324 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!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!