laravel-social-follow maintained by ultratechinnovations
Description
A complete, flexible follow system for Laravel applications with multi-model support, real-time notifications, and relationship management
Author
Last update
2026/01/12 12:40
(dev-main)
License
Downloads
1
Laravel Social Follow
A complete, flexible follow system for Laravel applications with multi-model support, real-time notifications, and relationship management
Installation
You can install the package via composer:
composer require ultratechinnovations/laravel-social-follow
You can publish and run the migrations with:
php artisan vendor:publish --tag="social-follow-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="social-follow-config"
Usage
Traits
CanFollow
Add to any model (e.g., User) that should be able to follow others.
<?php
use Illuminate\Foundation\Auth\User as Authenticatable;
use UltraTechInnovations\SocialFollow\Traits\CanFollow;
class User extends Authenticatable{
use CanFollow;
}
// Usages
$user->follow($otherUser);
$user->unfollow($otherUser);
$user->toggleFollow($otherUser);
$user->isFollowing($otherUser);
$user->getFollowings();
$user->followingCount();
// If approval_required is true
$user->hasRequestedToFollow($otherUser);
$otherUser->acceptFollowRequest($user);
CanBeFollowed
Add to any model that can be followed.
<?php
use Illuminate\Foundation\Auth\User as Authenticatable;
use UltraTechInnovations\SocialFollow\Traits\CanBeFollowed;
class User extends Authenticatable{
use CanBeFollowed;
}
// Usage
$user->isFollowedBy($otherUser);
$user->getFollowers();
$user->pendingFollowers(); // If approval_required is true
CanBlock
Add to any model that should be able to block others.
<?php
use Illuminate\Foundation\Auth\User as Authenticatable;
use UltraTechInnovations\SocialFollow\Traits\CanBlock;
class User extends Authenticatable{
use CanBlock;
}
// Usage
$user->block($otherUser);
$user->unblock($otherUser);
$user->hasBlocked($otherUser);
CanBeBlocked
Add to any model that can be blocked.
<?php
use Illuminate\Foundation\Auth\User as Authenticatable;
use UltraTechInnovations\SocialFollow\Traits\CanBeBlocked;
class User extends Authenticatable{
use CanBeBlocked;
}
// Usage
$user->isBlockedBy($otherUser);
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.