questocat/laravel-rally

laravel 5 的关注系统

v1.0.0 2018-04-14 07:28 UTC

This package is auto-updated.

Last update: 2024-09-20 13:26:23 UTC


README

laravel 5 的关注系统,为 Laravel Eloquent 模型提供特质,以便轻松实现“关注”、“点赞”、“收藏”、“记住”或“订阅”功能。

StyleCI Scrutinizer Code Quality Build Status Packagist

安装

通过 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 许可协议 许可。