Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel 4 suppressions logicielles en cascade

J'ai des suppressions en cascade qui fonctionnent avec événements de modèle , par exemple, dans un modèle de produit, je lie l'événement supprimé afin de pouvoir supprimer toutes les relations :

    // Laravel's equivalent to calling the constructor on a model
    public static function boot()
    {
        // make the parent (Eloquent) boot method run
        parent::boot();    

        // cause a soft delete of a product to cascade to children so they are also soft deleted
        static::deleted(function($product)
        {
            $product->images()->delete();
            $product->descriptions()->delete();
            foreach($product->variants as $variant)
            {
                $variant->options()->delete();
                $variant->delete();
            }
        });
    }