puzzle9 / laravel-user-blockable
Laravel用户锁定系统
v1.1.0
2021-03-31 06:21 UTC
Requires
- php: >=7.0
- illuminate/database: >=5.4
- illuminate/support: >=5.4
- nesbot/carbon: >=2.0
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is auto-updated.
Last update: 2024-09-29 06:25:43 UTC
README
此包可以帮助您将用户锁定系统添加到项目中。
- 非常简单。
- 在锁定关系表中使用 "ON DELETE CASCADE"。
注意
- 支持Laravel 8.x~
- 需要php >=7.0
安装
首先,通过Composer引入此包。
运行composer require puzzle9/laravel-user-blockable
发布配置文件。(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)
分支
barisdemirhan (barisdemirhn@gmail.com)
其他
说实话,我现在对这函数按照这个被
字关系理解不清楚。
就是类似于
a拉黑了b,b被a拉黑了。