laravel-rally
A followers system for laravel 5, Trait for Laravel Eloquent models to allow easy implementation of a "follow" or "like" or "favorite" or "remember" or "subscribe" feature., (*1)
, (*2)
Installation
Via Composer to add the package to your project's dependencies:, (*3)
$ composer require questocat/laravel-rally
First add service providers into the config/app.php, (*4)
\Questocat\Rally\RallyServiceProvider::class,
Publish the migrations, (*5)
$ php artisan vendor:publish --provider="Questocat\Rally\RallyServiceProvider" --tag="migrations"
Publish the config, (*6)
$ php artisan vendor:publish --provider="Questocat\Rally\RallyServiceProvider" --tag="config"
Setup the model
Add CanFollow Traits to your User model., (*7)
use Questocat\Rally\Traits\CanFollow
class User extends Model
{
use CanFollow;
}
Add CanBeFollowed Trait to your Post model or Video model and more., (*8)
use Questocat\Rally\Traits\CanBeFollowed
class Post extends Model
{
use CanBeFollowed;
}
Add CanFollow and CanBeFollowed feature trait into your User model:, (*9)
use Questocat\Rally\Traits\Followable
class User extends Model
{
use Followable;
}
Usage
CanFollow
Follow and Unfollow users, (*10)
$user->follow(1); // App\User:class
$user->follow($user1);
$user->follow([1, 3]);
$user->follow(1, Post::class);
$user->unfollow(1); // App\User:class
$user->unfollow($user1);
$user->unfollow([1, 2]);
$user->unfollow(1, Post::class);
Check if being followed by someone, (*11)
$user->isFollowing(1);
$user->isFollowing($user2);
$user->isFollowing(2, Post::class);
$user->isFollowing($post, Post::class);
Toggle follow, (*12)
$user->toggleFollow(1);
$user->toggleFollow($user2);
$user->toggleFollow([2, 4]);
$user->toggleFollow([2, 4], Post::class);
Following, (*13)
$user->following;
$user->following()->get(); // It's the same thing as this
$user->following()->count(); // Get the total following
CanBeFollowed
Check if following by someone, (*14)
$user->isFollowedBy(3);
$user->isFollowedBy($user2);
Followers, (*15)
$user->followers;
$user->followers()->get(); // It's the same thing as this
$user->followers()->count(); // Get the total followers
Followable
Check if it is mutual follow, (*16)
$user->isMutualFollow(1);
$user->isMutualFollow($user2);
Inspiration
License
Licensed under the MIT license., (*17)