Pemadaman Bertingkat dalam ORM Fasih Laravel
Apabila bekerja dengan pangkalan data hubungan, selalunya perlu untuk melaksanakan mekanisme pemadaman bertingkat. Dalam ORM Eloquent Laravel, ini boleh dicapai melalui pendengar acara.
Secara khusus, anda boleh menggunakan acara "memadam" untuk mencetuskan panggilan balik apabila model tertentu akan dipadamkan. Panggilan balik ini kemudiannya boleh melakukan sebarang pembersihan yang diperlukan, seperti memadamkan baris yang berkaitan dalam pangkalan data.
Untuk melaksanakan ini, tambahkan pendengar acara di dalam kelas model anda menggunakan kaedah "booted()", seperti yang ditunjukkan dalam kod coretan yang disediakan dalam jawapan yang diterima:
namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { public function photos() { return $this->has_many('Photo'); } protected static function booted() { static::deleting(function (User $user) { $user->photos()->delete(); }); } }
Dengan mentakrifkan pendengar acara ini, panggilan balik yang disediakan akan dilaksanakan secara automatik apabila baris kepunyaan model "Pengguna" dipadamkan. Ini membolehkan anda melonjakkan pemadaman kepada model "Foto" yang berkaitan dengan lancar dan tanpa memerlukan campur tangan manual.
Selain itu, disyorkan untuk membungkus operasi ini dalam transaksi untuk mengekalkan integriti rujukan dalam pangkalan data dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pemadaman Lata dalam Laravel Eloquent menggunakan Pendengar Acara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!