obb12 / laravel-friendships
此包为Eloqent模型提供了管理朋友关系的功能。
dev-master
2017-05-26 04:22 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- fzaninotto/faker: ~1.4
- laravel/laravel: 5.*
- phpunit/phpunit: 5.*
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);