Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Sisipan Pukal dengan Cekap dengan Laravel Fasih dan Pembina Pertanyaan?

Bagaimana untuk Melaksanakan Sisipan Pukal dengan Cekap dengan Laravel Fasih dan Pembina Pertanyaan?

Linda Hamilton
Lepaskan: 2025-01-12 20:17:42
asal
761 orang telah melayarinya

How to Efficiently Perform Bulk Inserts with Laravel Eloquent and Query Builder?

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:

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

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!

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