Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Memadam Baris Berkaitan Secara Automatik Apabila Memadam Model dalam Laravel Eloquent?

Bagaimana untuk Memadam Baris Berkaitan Secara Automatik Apabila Memadam Model dalam Laravel Eloquent?

Patricia Arquette
Lepaskan: 2024-12-10 17:13:16
asal
250 orang telah melayarinya

How to Automatically Delete Related Rows When Deleting a Model in Laravel Eloquent?

Memadamkan Baris Berkaitan Secara Automatik dalam Laravel (ORM Fasih)

Dalam ORM Fasih Laravel, apabila memadamkan rekod menggunakan $user->delete();, anda boleh mahu memadamkan baris berkaitan secara automatik, seperti $this->photo()->delete(). Ini boleh dicapai dengan menggunakan acara pemadaman dalam kelas model anda.

Untuk menyediakan pengendali acara, ikut langkah berikut:

Pengendali Acara Model Tersuai

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    public function photos()
    {
        return $this->has_many('Photo');
    }

    // this is a recommended way to declare event handlers
    protected static function booted()
    {
        static::deleting(function(User $user) { // before delete() method calls this
            $user->photos()->delete();
            // perform additional cleanup if necessary
        });
    }
}
Salin selepas log masuk

Dengan mentakrifkan pengendali acara pemadaman, setiap kali model Pengguna dipadamkan, model Foto yang berkaitan juga akan dipadamkan secara automatik. Untuk memastikan integriti rujukan, adalah disyorkan untuk melengkapkan proses pemadaman dalam transaksi.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Berkaitan Secara Automatik Apabila Memadam Model dalam Laravel Eloquent?. 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