我正在尝试在 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
{
//
}
}
我尝试阅读文档,但找不到任何解决我的问题的方法。