Dalam proses pembangunan menggunakan rangka kerja Laravel, kita selalunya perlu mengubah suai data dalam pangkalan data secara berkelompok. Laravel menyediakan kami cara yang mudah untuk mencapai keperluan ini. Berikut ialah kaedah yang biasa digunakan untuk mengubah suai data dalam Laravel Artikel ini akan memperkenalkan pelaksanaan kod dan proses penggunaan secara terperinci.
Mula-mula, kita perlu menulis laluan dalam fail route/web.php untuk mengendalikan permintaan. Dalam laluan ini, kami menentukan kaedah pengawal untuk diakses, dengan {ids} ialah pemegang tempat yang digunakan untuk memadankan parameter ID yang diluluskan oleh halaman.
Route::post('posts/updateAll/{ids}', 'PostController@updateAll');
Dalam pengawal PostController, kami menulis kaedah kemas kiniSemua untuk memproses senarai ID yang diluluskan oleh halaman dan data yang akan diubah suai . Dalam kaedah ini, kami memanggil kaedah kemas kini yang ditakrifkan dalam model Post untuk mengemas kini data.
public function updateAll($ids) { $ids = explode(',', $ids); $status = request('status'); Post::whereIn('id', $ids)->update(['status' => $status]); return back()->with('success', '更新成功'); }
Seperti yang anda lihat, kaedah ini mengandungi dua parameter: $ids dan $status. Antaranya, $ids ialah senarai ID yang diluluskan oleh halaman, dipisahkan dengan koma Kami menggunakan fungsi explode untuk menukarnya kepada tatasusunan. $status ialah nilai status yang akan diubah suai Kami memperoleh nilai status ini melalui fungsi permintaan.
Dalam proses kemas kini data, kami memanggil kaedah whereIn dalam Laravel Eloquent ORM, yang digunakan untuk mengemas kini data mengikut syarat yang ditetapkan. Antaranya, 'status' => $status menentukan medan yang ingin kita kemas kini dan nilai baharunya.
Akhir sekali, kita perlu menulis borang dalam fail paparan untuk menyerahkan senarai ID dan nilai status yang akan diubah suai. Berikut ialah contoh:
<form method="POST" action="{{ url('posts/updateAll/' . $ids) }}"> {{ csrf_field() }} <div class="form-group"> <label for="status">状态:</label> <select class="form-control" id="status" name="status"> <option value="1">已发布</option> <option value="0">未发布</option> </select> </div> <button type="submit" class="btn btn-primary">更新</button> </form>
Dalam paparan ini, kami menyerahkan senarai ID dan nilai status yang akan diubah suai melalui borang. Atribut tindakan borang menentukan alamat penghalaan yang baru kami tentukan. Dalam borang ini, kami menggunakan fungsi csrf_field Laravel sendiri untuk menjana token untuk menghalang serangan CSRF.
Pada ketika ini, kami telah menyelesaikan pembangunan fungsi pengubahsuaian kelompok Laravel yang mudah. Dengan cara ini, kami boleh mengemas kini data dalam pangkalan data dengan cepat dan mudah dan meningkatkan kecekapan pembangunan.
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara laravel melaksanakan pengubahsuaian kelompok fungsi data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!