Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exclusões suaves em cascata do Laravel 4


Tenho exclusões em cascata funcionando usando eventos de modelo , por exemplo, em um modelo Product, eu vinculo ao evento delete para que eu possa fazer a exclusão reversível de todas as relações:
    // 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();
            }
        });
    }