关于laravel学习--使用 Laravel Notifynder 扩展轻松实现消息通知

使用 Laravel Notifynder 扩展轻松实现 Laravel 应用的消息通知功能

       博主最近在开发公司的后台过程中,因为有个业务需求需要用到通知,所以才接触了Larvale框架的Notifynder扩展,在开发过程中遇到的一些坑,在这里也跟大家进行分享

       在Laravel项目中,我们先按照步骤安装Notifynder扩展,步骤如下:

1、使用Composer安装该扩展:

composer require fenos/notifynder

2、然后到config/app.php中注册服务提供者:

Fenos\Notifynder\NotifynderServiceProvider::class,

以及门面:

'Notifynder' => Fenos\Notifynder\Facades\Notifynder::class,

3、发布该扩展包的配置文件到config目录:

php artisan vendor:publish --provider="Fenos\Notifynder\NotifynderServiceProvider"

4、最后运行数据库迁移生成相应数据表:

php artisan migrate

       完成以上步骤,我们便成功的装完了Notifynder扩展,我们可以在我们的数据库中看到两个表,分别是notification_categories(模板表)、notifications(消息通知表)。

      我们开始创建发送通知模板,代码如下:

php artisan notifynder:create:category "user.following" "{from.username} started to follow you"

如果报错,可能是版本太高了,那我们可以手动往数据库里添加发送消息模板,截图如下

捕获.JPG

可以看到第一列是ID、第二列是模板的名称、第三列是模板内容,其中的{from.username}是参数,如果我们想要自定义更多的参数可以参考如下:

捕获.JPG

在这条模板里我们是定义了3个参数。

       完成消息模板之后,接下来确定要被通知的模型,通常我们选择User模型,这个被选择的模型类要使用 Notifable Trait:,代码如下:

use Fenos\Notifynder\Notifable;

class User extends Model{
    use Notifable;
}

这样我们的模型实体就可以发送消息通知了:

$from_user_id = 1;   //发送者ID
$to_user_id = 2;     //接收者ID
Notifynder::category('user.following')
            ->from($from_user_id)
            ->to($to_user_id)
            ->url('http://laravelacademy.org/notifications')
            ->extra('upperProject'=>'测试','date'=>'20180725')
            ->send();

其中的form是发送者ID,to是接收者ID,url是消息附带的跳转地址,extra是参数数组。

       发送通知后我们来检索通知:

$userNotified = User::find($to_user_id);
dd($userNotified->getNotificationsNotRead());

      如果我们想要查看单条通知的话,代码如下:

$id = $this->id;   //获取消息通知ID
$query = Notification::where('id', $id);
$newsDetail = $query->findOrFail($id);
$newsDetail = $newsDetail->text;

这样我们便可以查看单条的消息通知了,后面还有再详细的地方,请到这里查看下,博主就先跟大家介绍到这里->传送门

0条评论

发表评论