hareku/laravel-user-blockable

此包已废弃,不再维护。未建议替代包。

Laravel 5 用户封禁系统

1.0.0 2017-05-30 02:44 UTC

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)