questocat / laravel-rally
A followers system for laravel 5
Requires
- php: >=5.5.9
Requires (Dev)
- laravel/laravel: ^5.0
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0|~5.0
This package is auto-updated.
Last update: 2024-10-20 13:41:01 UTC
README
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.
Installation
Via Composer to add the package to your project's dependencies:
$ composer require questocat/laravel-rally
First add service providers into the config/app.php
\Questocat\Rally\RallyServiceProvider::class,
Publish the migrations
$ php artisan vendor:publish --provider="Questocat\Rally\RallyServiceProvider" --tag="migrations"
Publish the config
$ php artisan vendor:publish --provider="Questocat\Rally\RallyServiceProvider" --tag="config"
Setup the model
Add CanFollow Traits to your User model.
use Questocat\Rally\Traits\CanFollow class User extends Model { use CanFollow; }
Add CanBeFollowed Trait to your Post model or Video model and more.
use Questocat\Rally\Traits\CanBeFollowed class Post extends Model { use CanBeFollowed; }
Add CanFollow and CanBeFollowed feature trait into your User model:
use Questocat\Rally\Traits\Followable class User extends Model { use Followable; }
Usage
CanFollow
Follow and Unfollow users
$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
$user->isFollowing(1); $user->isFollowing($user2); $user->isFollowing(2, Post::class); $user->isFollowing($post, Post::class);
Toggle follow
$user->toggleFollow(1); $user->toggleFollow($user2); $user->toggleFollow([2, 4]); $user->toggleFollow([2, 4], Post::class);
Following
$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
$user->isFollowedBy(3); $user->isFollowedBy($user2);
Followers
$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
$user->isMutualFollow(1); $user->isMutualFollow($user2);
Inspiration
License
Licensed under the MIT license.