obb12/laravel-friendships

此包为Eloqent模型提供了管理朋友关系的功能。

dev-master 2017-05-26 04:22 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:28:42 UTC


README

此包为Eloqent模型提供了管理朋友关系的功能。您可以轻松设计一个类似Facebook的友谊系统。

##模型可以

  • 发送朋友请求
  • 接受朋友请求
  • 拒绝朋友请求
  • 阻止另一个模型

安装

首先,通过Composer安装此包。

composer require hootlex/laravel-friendships

然后,在config/app.php中包含服务提供者。

'providers' => [
    ...
    Hootlex\Friendships\FriendshipsServiceProvider::class,
    ...
];

最后,您需要发布迁移并迁移数据库

php artisan vendor:publish --provider="Hootlex\Friendships\FriendshipsServiceProvider" && php artisan migrate

设置模型

use Hootlex\Friendships\Traits\Friendable;
class User extends Model
{
    use Friendable;
    ...
}

使用方法

查看测试文件以查看包的实际效果

发送朋友请求

$user->befriend($recipient);

接受朋友请求

$user->acceptFriendRequest($recipient);

拒绝朋友请求

$user->denyFriendRequest($recipient);

删除朋友

$user->unfriend($recipient);

阻止模型

$user->blockFriend($recipient);

取消阻止模型

$user->unblockFriend($recipient);

检查模型是否是另一个模型的友友

$user->isFriendWith($recipient);

检查模型是否收到了另一个模型的待处理朋友请求

$user->hasFriendRequestFrom($recipient);

检查模型是否阻止了另一个模型

$user->hasBlocked($recipient);

检查模型是否被另一个模型阻止

$user->isBlockedBy($recipient);

获取单个友谊

$user->getFriendship($recipient);

获取所有友谊列表

$user->getAllFriendships();

获取待处理友谊列表

$user->getPendingFriendships();

获取接受友谊列表

$user->getAcceptedFriendships();

获取拒绝友谊列表

$user->getDeniedFriendships();

获取阻止友谊列表

$user->getBlockedFriendships();

获取待处理朋友请求列表

$user->getFriendRequests();

获取朋友数量

$user->getFriendsCount();

要获取朋友模型集合(例如User),请使用以下方法

获取朋友

$user->getFriends();

获取分页朋友

$user->getFriends($perPage = 20);

获取朋友的朋友

$user->getFriendsOfFriends($perPage = 20);