questocat / laravel-rally
laravel 5 的关注系统
v1.0.0
2018-04-14 07:28 UTC
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-09-20 13:26:23 UTC
README
laravel 5 的关注系统,为 Laravel Eloquent 模型提供特质,以便轻松实现“关注”、“点赞”、“收藏”、“记住”或“订阅”功能。
安装
通过 Composer 将包添加到项目的依赖项中
$ composer require questocat/laravel-rally
首先将服务提供者添加到 config/app.php 中
\Questocat\Rally\RallyServiceProvider::class,
发布迁移文件
$ php artisan vendor:publish --provider="Questocat\Rally\RallyServiceProvider" --tag="migrations"
发布配置文件
$ php artisan vendor:publish --provider="Questocat\Rally\RallyServiceProvider" --tag="config"
设置模型
将 CanFollow 特质添加到您的 User 模型中。
use Questocat\Rally\Traits\CanFollow class User extends Model { use CanFollow; }
将 CanBeFollowed 特质添加到您的 Post 模型或 Video 模型等。
use Questocat\Rally\Traits\CanBeFollowed class Post extends Model { use CanBeFollowed; }
将 CanFollow 和 CanBeFollowed 特质添加到您的 User 模型中
use Questocat\Rally\Traits\Followable class User extends Model { use Followable; }
用法
CanFollow
关注和取消关注用户
$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);
检查是否被某人关注
$user->isFollowing(1); $user->isFollowing($user2); $user->isFollowing(2, Post::class); $user->isFollowing($post, Post::class);
切换关注状态
$user->toggleFollow(1); $user->toggleFollow($user2); $user->toggleFollow([2, 4]); $user->toggleFollow([2, 4], Post::class);
关注的用户
$user->following; $user->following()->get(); // It's the same thing as this $user->following()->count(); // Get the total following
CanBeFollowed
检查是否被某人关注
$user->isFollowedBy(3); $user->isFollowedBy($user2);
关注者
$user->followers; $user->followers()->get(); // It's the same thing as this $user->followers()->count(); // Get the total followers
可关注的
检查是否是相互关注
$user->isMutualFollow(1); $user->isMutualFollow($user2);
灵感
许可协议
本软件受 MIT 许可协议 许可。