Rumah > Artikel > pangkalan data > Bagaimana untuk Mencipta Sisipan...Pilih Penyata dengan Laravel ORM?
Mencipta Sisipan...Pilih Penyata dengan Laravel ORM
Memasukkan rekod daripada jadual lain ke dalam jadual baharu boleh dicapai menggunakan Sisipan. ..Pilih pernyataan. Dalam Laravel, anda boleh menggunakan sama ada ORM Eloquent atau pertanyaan SQL mentah untuk menyelesaikan tugas ini.
Ikatan Lajur Laravel Eloquent
Menggunakan ORM Eloquent Laravel, anda boleh mengambil kesempatan daripada kaedah getBindings() untuk mendapatkan parameter pengikatan untuk pertanyaan Pilih yang dibina sebelum ini. Ini membolehkan anda menggunakan semula pernyataan yang telah disediakan.
<code class="php"><?php // Create the Select query $select = User::where(...) ->where(...) ->whereIn(...) ->select(['email', 'moneyOwing']); // Get the binding parameters $bindings = $select->getBindings(); // Construct the Insert query $insertQuery = 'INSERT INTO user_debt_collection (email, dinero) ' . $select->toSql(); // Execute the Insert query using the bound parameters DB::insert($insertQuery, $bindings);</code>
Menggunakan Pertanyaan SQL Mentah
Sebagai alternatif, anda boleh menggunakan pertanyaan SQL mentah untuk membuat Sisipan...Pilih kenyataan secara langsung.
<code class="php"><?php $insertQuery = '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; DB::insert($insertQuery);
Laravel 5.7 dan Kemudian
Untuk Laravel 5.7 dan yang lebih baru, kaedah insertUsing() boleh digunakan untuk memudahkan proses.
<code class="php"><?php DB::table('user_debt_collection')->insertUsing(['email', 'dinero'], $select);</code>
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Sisipan...Pilih Penyata dengan Laravel ORM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!