Laravel 8框架中实现通知管理功能

2023-06-01 00:00:00 功能 框架 通知

我们谈论如何创建带有通知管理的 Laravel 8。

我们很早就创建了 Laravel 的多个东西。通知是 Web 应用程序的重要部分之一。

为什么我说那个?

有时我们被允许访问用户以进行付款或任何财务事项。

我们想为此记录一切。我们将创建交易或其他东西。但是通知比通知更具可读性。

让我们看看如何创建那个。


我为此使用了早期创建的项目。

点击这里:

https://dev.to/jsandaruwan/laravel-8-with-bootstrap-58bm


转到项目路径并打开终端。

cd bootstrap-app

首先,我们要为该部分创建通知表。创建该表后,我们将再次迁移我们的数据库。

php artisan notifications:table
php artisan migrate


之后键入创建通知的代码。您可以为该通知命名任何名称。

php artisan make:notification PaymentsSave

为此,我使用了 User 模型,因此我们希望像这样为我们的用户模型添加 use Notifiable 。

<?php
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use Notifiable;
}


现在真棒,我们正在寻找如何使用我们的系统使用该通知。

$data['message']="The Payment Successfully !"; 
$user->notify(new PaymentsSave($data));


这样我们就可以使用带有参数的通知。让我们看看如何修复 PaymentsSave 类。转到 PaymentsSave 类,您可以在其上看到多个功能。转到通过功能,我们可以配置使用发送的类用于发送电子邮件或将数据保存在数据库中。那个时候我们使用在数据库中保存数据。因此通过这样。

public function via($notifiable) 

    return ['database']; 
}

我们也想以这种方式编辑 __construct 函数。

public function __construct($notification)
{
   $this->notification = $notification;
}

在我们可以像这样编辑 toDatabase 函数之后

public function toDatabase($notifiable) 

    return [ 'message' => $this->notification['message'] ?? '']; 
}

请记住,我将发送带有消息的数据,该消息将我们的数据库保存为通知表数据列中的 JSON 数组。


现在,如何显示通知?

让我们看看这个。


我们想反对像 $user 这样的用户模型

$user->notifications;


获取未读通知

$user->unreadNotifications;


获取阅读通知

$user->readNotifications;

如何更新状态阅读通知

这个我们要传递通知ID的参数

$user->notifications->where('id', $id)->markAsRead();


如何更新状态未读通知

$user->notifications->where('id', $id)->markAsUnread();


如何更新状态所有已读通知

$user->notifications->markAsRead();


如何更新状态所有未读通知

$user->notifications->markAsUnread();

就是这样创建通知管理。让我们再次见面,为全新的教程。


转:

https://dev.to/jsandaruwan/laravel-8-with-notification-management-48il

相关文章