Files
law-api/app/Models/Notification.php

36 lines
825 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Notification extends Model
{
use HasFactory;
protected $table = 'notifications';
protected $fillable = [
'title',
'description',
];
public function users()
{
return $this->belongsToMany(User::class, 'notification_user')
->withPivot('read_at')
->withTimestamps();
}
/**
* Notifications that a user has not read (no pivot row with read_at set).
*/
public static function scopeUnreadForUser($query, $userId)
{
return $query->whereDoesntHave('users', function ($q) use ($userId) {
$q->where('user_id', $userId)->whereNotNull('notification_user.read_at');
});
}
}