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>
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>
Kaedah 2: Menggunakan insertUsing() (Laravel 5.7 dan ke atas)
<code class="php">DB::table('user_debt_collection')->insertUsing(['email', 'dinero'], $select);</code>
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!