PS:本次主要记录一下laravel 自带的消息通知Notification的实现
1.生成数据库,可以使用迁移
- 在项目目录下的cmd中运行 artisan命令
php artisan notifications:table php artisan migrate
- 在user表里增加一个notification_count 字段,记录未读通知数量
-
php artisan make:notification UserSupport
如果implements ShouldQueue这个接口的话就会异步队列执行,如果去掉的话就是同步执行。
-
<?php /** * 模拟用户点赞通知 * laravel 通知表 notifications * 点赞表 user_support * 作者表 users * 用户表 user_info */ namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Notification; use App\Models\UserSupport as UserSupportModel; class UserSupport extends Notification implements ShouldQueue { use Queueable; public $support; public function __construct(UserSupportModel $support) { // 注入回复实体,方便 toDatabase 方法中的使用 $this->support = $support; } public function via($notifiable) { // 开启通知的频道 return ['mail','database']; } public function toMail($notifiable) { return (new MailMessage) ->line('The introduction to the notification.') ->action('Notification Action', 'www.baidu.com')