Mengendalikan set data yang besar selalunya melibatkan memasukkan banyak baris ke dalam jadual pangkalan data. Memproses setiap baris secara manual boleh menjadi tidak cekap. ORM Fasih dan pembina pertanyaan Laravel menyediakan penyelesaian yang elegan untuk sisipan pukal, meningkatkan prestasi dengan ketara.
Untuk memasukkan data daripada set hasil pertanyaan sambil mengekalkan struktur baris, sisipan pukal adalah sesuai. Eloquent menawarkan kaedah yang mudah:
<code class="language-php">$data = $query->select(['user_id', 'subject_id'])->get()->toArray(); Model::insert($data);</code>
Perhatikan penambahan toArray()
. Ini penting untuk memastikan data berada dalam format yang betul untuk kaedah insert
.
Sebagai alternatif, pembina pertanyaan menyediakan fungsi yang serupa:
<code class="language-php">DB::table('table_name')->insert($data);</code>
Ingat bahawa kaedah insert
Eloquent mencetuskan mutator model (termasuk cap masa). Jika anda perlu memintas ini, pembina pertanyaan menawarkan lebih banyak kawalan langsung.
Kedua-dua kaedah dengan cekap memasukkan berbilang baris dengan satu pertanyaan pangkalan data, tanpa mengira saiz tatasusunan $data
, menjadikannya jauh lebih cekap daripada sisipan berulang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Berbilang Baris ke dalam Jadual Pangkalan Data dengan Pertanyaan Fasih Tunggal dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!