Laksanakan Pemadaman Automatik Baris Berkaitan dalam Laravel Menggunakan ORM Fasih
Kaedah delete() standard Eloquent ORM memadamkan satu baris. Untuk melanjutkan fungsi ini dan memadam baris berkaitan secara automatik, gunakan peristiwa Eloquent.
Masalah:
Apabila anda memadamkan baris dengan $user->delete(), bagaimana anda boleh melampirkan panggilan balik automatik untuk memadamkan baris yang berkaitan, seperti $this->photo()->delete()?
Penyelesaian:
Acara memadam dicetuskan sebelum pemadaman( ) kaedah dipanggil. Dengan mentakrifkan pengendali acara dalam kelas model, anda boleh melaksanakan tugas pembersihan selepas pemadaman.
<?php namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { public function photos() { return $this->has_many('Photo'); } // This method is called before delete() is called protected static function booted () { static::deleting(function (User $user) { $user->photos()->delete(); }); } }
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadam Baris Berkaitan Secara Automatik Apabila Memadam Model dalam Laravel Eloquent?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!