2017 © Pedro PelĂĄez
 

library notification

Provides an interface for adding and retrieving database stored notifications.

image

c4studio/notification

Provides an interface for adding and retrieving database stored notifications.

  • Tuesday, October 11, 2016
  • by c4studio
  • Repository
  • 1 Watchers
  • 0 Stars
  • 20 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Notification


Provides an interface for adding and retrieving database stored notifications., (*1)


Installation

Just place require new package for your laravel installation via composer.json, (*2)

"c4studio/notification": "1.0.*"

Then simply composer update, (*3)

Registering to use it with laravel

Add following lines to app/config/app.php, (*4)

ServiceProvider array, (*5)

C4studio\Notification\NotificationServiceProvider::class,

Alias array, (*6)

'Notification' => C4studio\Notification\Facades\Notification::class,

Publishing migrations (Laravel 5.2 and lower only)

php artisan vendor:publish --provider="C4studio\Notification\NotificationServiceProvider" --tag=migrations

Running migrations

Notification uses a database table for storage, so you'll need to run the migrations, (*7)

php artisan migrate

Usage

Select models which can receive notifications

You must apply the HasNotifications trait to all models that will be able to receive notifications, (*8)

class User extends Model
{
    use HasNotifications;

    ...
}

Add notification using facade

You can add notifications using the notify() method, which take two parameters: the notification message and the recipient(s). The second parameter accepts either a model or an array/collection of models, (*9)

Notification::notify('Notification message', Auth::user());
Notification::notify('Notification message', \App\User::all());

If no recipient is set, the notification will be treated as a system message, and will be attached to every user model, (*10)

Notification::notify('Notification message');

Add notification using helper function

notify('Message', Auth::user());
notify('Message');

Retrieving notifications for a model

To get notifications for a model, use the notifications relationship, (*11)

Auth::user()->notifications;
Auth::user()->notifications()->first();

You can also easily get the system notifications, (*12)

Auth::user()->notifications_system;
Auth::user()->notifications_system()->first();

Marking notification as read/unread

You can mark notification as read/unread by using the markRead() and markUnread() methods. But accept the user model or user ID as a parameter. If ommitted, message will be marked for current authenticated user, (*13)

$notification::markRead();
$notification::markRead(\App\User::first());
$notification::markUnread(1);

Check if notification has been read by current user

You can check if a notification has been read by the currently authenticated user, by accessing the read attribute., (*14)

echo $notification::read ? 'It is read' : 'It is not read';

Get recipients of a notification

You can also get all the recipients of a notification, (*15)

$notification::recipients;
$notification::recipients->take(2)->get();

Complex queries

For more complex queries, you can return a Builder object by using query(). Easy, right?, (*16)

Notification::query()->orderBy('timestamp', 'desc')->take(2)->get();

The Versions

11/10 2016

v1.0.0

1.0.0.0

Provides an interface for adding and retrieving database stored notifications.

  Sources   Download

MIT

The Requires

 

by Peter Illés

11/10 2016

dev-master

9999999-dev

Provides an interface for adding and retrieving database stored notifications.

  Sources   Download

MIT

The Requires

 

by Peter Illés