marksihor/laravel-messaging is a Laravel package for simple laravel messaging.
It currently has 0 GitHub stars and 2.239 downloads on Packagist (latest version 1.12).
Install it with composer require marksihor/laravel-messaging.
Discover more Laravel packages by marksihor
or browse all Laravel packages to compare alternatives.
Last updated
Simple messaging between users.
$ composer require marksihor/laravel-messaging -vvv
This step is optional, if you want to customize the tables, you can publish the migration files:
$ php artisan vendor:publish --provider="MarksIhor\\LaravelMessaging\\MessagingServiceProvider" --tag=migrations
MarksIhor\LaravelMessaging\Traits\Messageable<?php
namespace App\User;
<...>
use MarksIhor\LaravelMessaging\Traits\Messageable;
class User extends Authenticatable
{
<...>
use Messageable;
<...>
}
$user()->chats; // get all chats available for given user (with last message)
$user()->chatsUnread; // get all unread chats
$user()->chatsRead; // get all read chats
$user()->chat(1); // get one chat with all messages
$user()->sendMessageToChat(1, ['text' => 'message to chat']); // send message to specified chat (if user is in the chat)
$user()->sendMessageToUser($recipient, ['text' => 'message to user', 'link' => 'https://some.link']); // send message to specified recipient
If You need manually to change "read" status, You can do the following:
use MarksIhor\LaravelMessaging\Services\MessagingService;
<...>
MessagingService::markReadForUser($chatId, $userId, $type === 'read' ? 1 : 0)
<...>
MIT