Simple user messaging tool for Laravel

2.1.1 2016-08-08 03:46 UTC

This package is not auto-updated.

Last update: 2022-05-18 07:46:52 UTC


Build Status Code Climate Latest Version Total Downloads Software License Get help on Codementor

Laravel Messenger

This package will allow you to add a full user messaging system into your Laravel application.

Leave some feedback

How are you using laravel-messenger?


  • Multiple conversations per user
  • Optionally loop in additional users with each new message
  • View the last message for each thread available
  • Returns either all messages in the system, all messages associated to the user, or all message associated to the user with new/unread messages
  • Return the users unread message count easily
  • Very flexible usage so you can implement your own acess control

Common uses

  • Open threads (everyone can see everything)
  • Group messaging (only participants can see their threads)
  • One to one messaging (private or direct thread)

Installation (Laravel 4.x)

Installation instructions for Laravel 4 can be found here.

Installation (Laravel 5.x)

In composer.json:

"require": {
    "cmgmyr/messenger": "~2.0"


composer update

Add the service provider to config/app.php under providers:

'providers' => [

Publish Assets

php artisan vendor:publish --provider="Cmgmyr\Messenger\MessengerServiceProvider"

Update config file to reference your User Model:


Create a users table if you do not have one already. If you need one, simply use this example as a starting point, then migrate.

(Optional) Define names of database tables in package config file if you don't want to use default ones:

'messages_table' => 'messenger_messages',
'participants_table' => 'messenger_participants',
'threads_table' => 'messenger_threads',

Migrate your database:

php artisan migrate

Add the trait to your user model:

use Cmgmyr\Messenger\Traits\Messagable;

class User extends Model {
    use Messagable;


Note: These examples use the laravelcollective/html package that is no longer included in Laravel 5 out of the box. Make sure you require this dependency in your composer.json file if you intend to use the example files.

Example Projects


Please format your code before creating a pull-request. This will format all files as specified in .php_cs:

vendor/bin/php-cs-fixer fix .


If you discover any security related issues, please email Chris Gmyr instead of using the issue tracker.


Special Thanks

This package used AndreasHeiberg/laravel-messenger as a starting point.