protected static function boot()
    {
        parent::boot();

        static::addGlobalScope(new MailingScope);

        static::creating(function ($node)
        {
            if (empty($node->published_at))
            {
                $node->published_at = Carbon::now();
            }

            $node->fireNodeEvent('creating');
        });

        static::created(function ($node)
        {
            $node->propagateIdToSources(false);

            $node->fireNodeEvent('created');
        });

        static::saving(function ($node)
        {
            $node->validateCanHaveParentOfType();

            $node->fireNodeEvent('saving');
        });

        foreach (['updating', 'updated', 'deleting', 'deleted', 'saved'] as $event)
        {
            static::$event(function ($node) use ($event)
            {
                $node->fireNodeEvent($event);
            });
        }
    }
protected static function boot()
    {
        parent::boot();

        static::addGlobalScope(new MailingScope);

        static::creating(function ($node)
        {
            if (empty($node->published_at))
            {
                $node->published_at = Carbon::now();
            }

            $node->fireNodeEvent('creating');
        });

        static::created(function ($node)
        {
            $node->propagateIdToSources(false);

            $node->fireNodeEvent('created');
        });

        static::saving(function ($node)
        {
            $node->validateCanHaveParentOfType();

            $node->fireNodeEvent('saving');
        });

        foreach (['updating', 'updated', 'deleting', 'deleted', 'saved'] as $event)
        {
            static::$event(function ($node) use ($event)
            {
                $node->fireNodeEvent($event);
            });
        }
    }
protected static function boot ( ) { parent :: boot ( ) ; static :: addGlobalScope ( new MailingScope ) ; static :: creating ( function ( $ node ) { if ( empty ( $ node -> published_at ) ) { $ node -> published_at = Carbon :: now ( ) ; } $ node -> fireNodeEvent ( 'creating' ) ; } ) ; static :: created ( function ( $ node ) { $ node -> propagateIdToSources ( false ) ; $ node -> fireNodeEvent ( 'created' ) ; } ) ; static :: saving ( function ( $ node ) { $ node -> validateCanHaveParentOfType ( ) ; $ node -> fireNodeEvent ( 'saving' ) ; } ) ; foreach ( [ 'updating' , 'updated' , 'deleting' , 'deleted' , 'saved' ] as $ event ) { static :: $ event ( function ( $ node ) use ( $ event ) { $ node -> fireNodeEvent ( $ event ) ; } ) ; } }
Boot model events
Boot model events