Laravel 中的模型事件与 Observer

Laravel 中的模型事件与 Observer

当模型已存在,不是新建的时候,依次触发的顺序是:

saving -> updating -> updated -> saved

当模型不存在,需要新增的时候,依次触发的顺序则是

saving -> creating -> created -> saved

那么 saving,saved 和 updating,updated 到底有什么区别呢?

updating 和 updated 会在数据库中的真值修改前后触发。

saving 和 saved 则会在 Eloquent 实例的 original 数组真值更改前后触发。

class UserObserver
{

    /**
     * 监听数据即将创建的事件。
     *
     * @param  User $user
     * @return void
     */
    public function creating(User $user)
    {

    }

    /**
     * 监听数据创建后的事件。
     *
     * @param  User $user
     * @return void
     */
    public function created(User $user)
    {

    }

    /**
     * 监听数据即将更新的事件。
     *
     * @param  User $user
     * @return void
     */
    public function updating(User $user)
    {

    }

    /**
     * 监听数据更新后的事件。
     *
     * @param  User $user
     * @return void
     */
    public function updated(User $user)
    {

    }

    /**
     * 监听数据即将保存的事件。
     *
     * @param  User $user
     * @return void
     */
    public function saving(User $user)
    {

    }

    /**
     * 监听数据保存后的事件。
     *
     * @param  User $user
     * @return void
     */
    public function saved(User $user)
    {

    }

    /**
     * 监听数据即将删除的事件。
     *
     * @param  User $user
     * @return void
     */
    public function deleting(User $user)
    {

    }

    /**
     * 监听数据删除后的事件。
     *
     * @param  User $user
     * @return void
     */
    public function deleted(User $user)
    {

    }

    /**
     * 监听数据即将从软删除状态恢复的事件。
     *
     * @param  User $user
     * @return void
     */
    public function restoring(User $user)
    {

    }

    /**
     * 监听数据从软删除状态恢复后的事件。
     *
     * @param  User $user
     * @return void
     */
    public function restored(User $user)
    {

    }
}

 

posted @ 2022-08-16 17:14  丶老中医  阅读(291)  评论(0)    收藏  举报
一切已经开始©2018 丶老中医