Gunakan Laravel Eloquent/Fluent untuk memasukkan kumpulan berbilang baris data
Contoh ini memerlukan memasukkan data hasil pertanyaan ke dalam jadual lain dan menukar hasil ke dalam format tertentu. Cabaran utama ialah mengendalikan potensi perubahan dalam bilangan baris dalam keputusan.
Gunakan fungsi sisipan kelompok Laravel
Nasib baik, Laravel's Eloquent dan pembina pertanyaan menyediakan kaedah sisipan pukal yang mudah. Anda boleh menggunakan kaedah ini untuk mencapai hasil yang diinginkan:
Kaedah fasih:
<code class="language-php"> $insertData = collect($query->get())->map(function ($row) { return [ 'user_id' => $row->user_id, 'subject_id' => $row->subject_id, ]; }); Model::insert($insertData->toArray());</code>
Kaedah pembina pertanyaan:
<code class="language-php"> $insertData = collect($query->get())->map(function ($row) { return [ 'user_id' => $row->user_id, 'subject_id' => $row->subject_id, ]; }); DB::table('new_table')->insert($insertData->toArray());</code>
Dalam kedua-dua kes, pembolehubah $insertData
mengandungi data yang ditukar dalam format yang diperlukan. Kaedah insert
akan mengendalikan operasi sisipan pukal ke jadual yang ditentukan. Ambil perhatian bahawa untuk memastikan kaedah insert
mengendalikan data dengan betul, anda perlu menukar $insertData
kepada tatasusunan menggunakan kaedah ->toArray()
.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Sisipan Pukal dengan Cekap dengan Laravel Fasih dan Pembina Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!