37 lines
830 B
PHP
37 lines
830 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Illuminate\Notifications;
|
||
|
|
|
||
|
|
trait HasDatabaseNotifications
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Get the entity's notifications.
|
||
|
|
*
|
||
|
|
* @return \Illuminate\Database\Eloquent\Relations\MorphMany
|
||
|
|
*/
|
||
|
|
public function notifications()
|
||
|
|
{
|
||
|
|
return $this->morphMany(DatabaseNotification::class, 'notifiable')->orderBy('created_at', 'desc');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Get the entity's read notifications.
|
||
|
|
*
|
||
|
|
* @return \Illuminate\Database\Query\Builder
|
||
|
|
*/
|
||
|
|
public function readNotifications()
|
||
|
|
{
|
||
|
|
return $this->notifications()->whereNotNull('read_at');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Get the entity's unread notifications.
|
||
|
|
*
|
||
|
|
* @return \Illuminate\Database\Query\Builder
|
||
|
|
*/
|
||
|
|
public function unreadNotifications()
|
||
|
|
{
|
||
|
|
return $this->notifications()->whereNull('read_at');
|
||
|
|
}
|
||
|
|
}
|