Laravel 消息通知的使用

https://learnku.com/docs/laravel/5.8/notifications/3921

  • 创建通知
    >php artisan make:notification SendMail
    App\Notifications下面找到刚才创建的通知类打开并编辑.
    //SendMail.php
 public function via($notifiable)
    {
        return ['database'];
    }

via方法指定通知使用何种渠道发送,laravel内置的有mail,database,'broadcast',nexmo,slack
这里我们指定database即通过数据库发送消息.
通过何种渠道发送消息则该类下面必须有一个ToXXX的方法,例如database渠道则必须有一个ToDatabase方法,mail则必须有一个ToMail对应.

  • 新建方法
    //SendMail.php
public function toDatabase($notifiable)
    {
        return [
            'uid'=>99,
            'money'=>'$100',
            'content'=>$this->content
            ];
    }
  • 创建数据表
    >php artisan notifications:table
    >php artisan migrate
    此时在数据库里面已经可以看到notifications表,它将用来存储消息通知.
  • 发送消息
    //XxxController.php
    在控制器中use Notifiable;
class TestController extends Controller
{
    use Notifiable;
 //发送消息通知测试
public function test()
    {
        //$user必须是一个用户实例,表示此消息发送给某个用户
        //根据测试一次只能发给一个用户,如果可以发送多个用户欢迎留言.
        $user = User::find(1);
        $user->notify(new SendMail('消息功能测试'));
    }

通过浏览器访问一下方法,此时已经可以在数据表notifications中的data字段看到刚才发送的内容了.

  • 查看消息
//消息通知读取,也可以读取所有的和未读的,具体欢迎看文档.
public function show()
    {
        $user = User::find(1);
        foreach ($user->Notifications as $notification) {
            dump($notification->data);
        }
    }

End

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、简介 除了支持发送邮件之外,Laravel还支持通过多种传输通道发送通知,这些通道包括邮件、短信(通过Nexm...
    charmingcheng阅读 3,196评论 0 1
  • 1、简介 除了支持发送邮件之外,Laravel还支持通过多种传输通道发送通知,这些通道包括邮件、短信(通过Nexm...
    layjoy阅读 1,621评论 4 7
  • Laravel框架一:原理机制篇 Laravel作为在国内国外都颇为流行的PHP框架,风格优雅,其拥有自己的一些特...
    Mr_Z_Heng阅读 3,733评论 0 13
  • 介绍 Laravel 是一款 MVC架构、 目前最流行的 PHP框架。 Laravel的优点在于: 丰富的comp...
    那就远走阅读 7,910评论 3 18
  • 回到家的感觉真好,色鬼,财鬼,鬼迷心窍。无愧于心,无怨无悔。
    瓜苗儿hym阅读 222评论 0 0