uccellolabs/filament-tenancy

使用 Filament 简易管理租户。

dev-main 2022-12-21 19:46 UTC

This package is auto-updated.

Last update: 2024-09-21 23:41:18 UTC


README

Latest Version on Packagist Total Downloads

Filament Tenancy

使用 Filament 简易管理租户。

安装

您可以通过 composer 安装此包

composer require uccellolabs/filament-tenancy

配置

编辑 app/Models/User.php 并添加以下代码

use Uccellolabs\FilamentTenancy\Support\Traits\UserBelongsToTenant;

class User extends Authenticatable
{
    use UserBelongsToTenant;

    protected $fillable = [
        // ...
        'current_tenant_id',
    ];
}

编辑 app/Filament/Resources/UserResource/Pages/ListUsers.php 并添加以下代码

use Uccellolabs\FilamentTenancy\Support\Traits\CurrentTenant;

class ListUsers extends ListRecords
{
    use CurrentTenant;

    protected function getTableQuery(): Builder
    {
        $userIds = $this->getCurrentTenant()?->users()->pluck('users.id') ?? [];

        return User::whereIn('id', $userIds);
    }
}

使用方法

use Uccellolabs\FilamentTenancy\Support\Traits\CurrentTenant;

在您的表中添加名为 tenant_id 的列,并在您的模型中添加以下代码

use Uccellolabs\FilamentTenancy\Support\Traits\BelongsToTenant;

class YourModel extends Model
{
    use BelongsToTenant;
}

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。