如何根据分配的服务订单仅向特定用户发送通知

问题描述 投票:0回答:1

我正在尝试在 Laravel 中使用 Filament 编写数据库通知,但它似乎不会向分配给服务订单的用户发送通知。这样可以吗

ServiceorderOberserver.php观察者

<?php

namespace App\Observers;

use App\Models\User;
use App\Models\ServiceOrder;
use Filament\Notifications\Notification;

class ServiceOrderOberserver
{
    /**
     * Handle the ServiceOrder "created" event.
     */
    public function created(ServiceOrder $serviceOrder): void
    {
        // Fetch the users who are assigned to this specific service order
        $assignedStaff = User::whereHas('serviceOrders', function($query) use ($serviceOrder) {
            $query->where('service_order_id', $serviceOrder->id);
        })->get();

        // Loop through each assigned staff member and send the notification
        foreach ($assignedStaff as $staff) {
            Notification::make()
                ->title('New Service Order: ' . $serviceOrder->pOrder)
                ->body('You have been assigned to service order ' . $serviceOrder->pOrder)
                ->success() // Styling for the notification (optional)
                ->sendToDatabase($staff); // Send notification to each staff member
        }
    }

    /**
     * Handle the ServiceOrder "updated" event.
     */
    public function updated(ServiceOrder $serviceOrder): void
    {
        //
    }

    /**
     * Handle the ServiceOrder "deleted" event.
     */
    public function deleted(ServiceOrder $serviceOrder): void
    {
        //
    }

    /**
     * Handle the ServiceOrder "restored" event.
     */
    public function restored(ServiceOrder $serviceOrder): void
    {
        //
    }

    /**
     * Handle the ServiceOrder "force deleted" event.
     */
    public function forceDeleted(ServiceOrder $serviceOrder): void
    {
        //
    }
}

我尝试阅读文档,但找不到任何解决我的问题的方法。

laravel database notifications laravel-filament filamentphp
1个回答
0
投票

我刚刚阅读了Filament 数据库通知的文档

关于发送数据库通知

Laravel 使用队列发送数据库通知。确保您的队列正在运行以便接收通知。

您的队列是否已启动并正在运行?

© www.soinside.com 2019 - 2024. All rights reserved.