laravel8 模型监听事件以及消息队列

本文介绍了在 Laravel8 中如何利用模型监听事件和消息队列进行代码分层。通过创建模型观察器,实现数据提交后写入日志。接着,详细阐述了如何设置消息队列,包括创建任务、配置数据库管道、创建任务和消费者。最后,总结了理解 ORM 模型事件定义和添加任务到队列的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了解决,添加数据成功后,代码不在控制器中编写,让代码分层

使用 artisan 命令来添加模型观察事件

//此命令是laravel5.5之后才有的,之前想要有此功能,手动创建目录和文件
php artisan make:observer NoticeObserver -m Notice

安装之后位置 app\Observers\NoticeObserver.php

需要在模型中注册一下

 /**
     * 使用laravel提供模型初始化方法  方法中最早执行
     */
    protected static function boot()
    {
        parent::boot(); // TODO: Change the autogenerated stub
        //注册自定义观察类
        self::observe(NoticeObserver::class);
    }

在事件观察类中添加如下的事件,名写上日志

 /**
     * 调用注册模型create添加时执行
     * Handle the Notice "created" event.
     *
     * @param  \App\Models\Notice  $notice
     * @return void
     */
    public function created(Notice $notice)
    {
        sleep(5);
        Log::in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值