Question

J'ai affaire au code suivant :

// BaseModel
abstract class BaseModel extends Eloquent {
    public static function boot()
    {
        parent::boot();

        static::saving(function($model)
        {
            echo 'Fired BaseModel';
        });
    }
}

// Project (extends BaseModel)
class Project extends BaseModel {
    public static function boot()
    {
        parent::boot();

        static::saving(function($model)
        {
            echo 'Fired Project';
        });
    }
}

Lors de l'enregistrement de données nouvelles/existantes dans le modèle de projet, cela me donne uniquement Fired BaseModel.Il ne déclenche pas du tout l'événement de sauvegarde sur le modèle de projet.Existe-t-il un moyen de surmonter cette limitation ?

Était-ce utile?

La solution

Déclenchez d'abord l'événement enfant avant d'appeler l'événement parent pour le résoudre

// Project (extends BaseModel)
class Project extends BaseModel {
    public static function boot()
    {   
        static::saving(function($model)
        {
            echo 'Fired Project';
        });

        parent::boot();
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top