hareku / laravel-user-blockable
此包已废弃,不再维护。未建议替代包。
Laravel 5 用户封禁系统
1.0.0
2017-05-30 02:44 UTC
Requires
- php: >=7.0
- illuminate/database: >=5.4
- illuminate/support: >=5.4
- nesbot/carbon: ~1.22
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2020-11-06 01:27:47 UTC
README
此包可帮助您将用户封禁系统添加到项目中。
- 简单易用。
- 在封禁关系的表中使用 "ON DELETE CASCADE"。
注意
- 支持 Laravel 5.4~
- 需要 php >=7.0
安装
首先,通过 Composer 引入包。
运行 composer require hareku/laravel-user-blockable
然后,在 config/app.php 中包含服务提供者。
'providers' => [ Hareku\LaravelBlockable\BlockableServiceProvider::class, ];
发布配置文件。 (blockable.php)
$ php artisan vendor:publish --provider="Hareku\LaravelBlockable\BlockableServiceProvider"
最后,在 User 模型中使用 Blockable 特性。
use Hareku\LaravelBlockable\Traits\Blockable; class User extends Model { use Blockable; }
使用方法
封禁一个或多个用户
$user->block(1); $user->block([1,2,3,4]);
添加封禁者
$user->addBlockers(1); $user->addBlockers([1,2,3,4]);
解封一个或多个用户
$user->unblock(1); $user->unblock([1,2,3,4]);
获取封禁用户/被用户封禁
// blocker users $user->blockerUsers()->get(); // Get blocker user models. $user->blockerRelationships()->get(); // Get blocker relationship models. // blocked by users $user->blockingUsers()->get(); $user->blockingRelationships()->get();
检查是否已封禁
$user->isBlocking(1); $user->isBlocking([1,2,3,4]);
检查是否被封禁
$user->isBlockedBy(1); $user->isBlockedBy([1,2,3,4]);
检查是否为相互封禁
$user->isMutualBlock(1); $user->isMutualBlock([1,2,3,4]);
获取封禁者/被封禁者的 ID
$user->block([1,2,3]); $user->blockerIds(); // [1,2,3] $user->blockingIds();
拒绝用户 ID
$user->blockerUsers()->pluck('id')->all(); // [1,2,3] $user->rejectNotBlocker([1,2,3,4,5]); // [1,2,3]
$user->block([1,2,3]); $user->rejectNotBlocking([1,2,3,4,5]); // [1,2,3]
许可
MIT
作者
hareku (hareku908@gmail.com)