You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Filament多租户报错:Organisation模型无organisation关联

问题:Filament多租户系统查看组织列表时关联错误
  • 基础情况:
    正在搭建FilamentPhp多租户系统,目前拥有Organisation、Role、User三个模型(及OrganisationRole中间表),Organisation与User为多对多关联,已通过Tinker测试验证该关联可正常工作。

  • 面板租户配置:
    在admin面板中已设置租户:

    ->tenant(Organisation::class)
    
  • User类实现:
    User类已实现HasTenants接口,并定义了关联及租户相关方法:

    public function organisations(): BelongsToMany
    {
        return $this->belongsToMany(Organisation::class)
            ->withTimestamps()
            ->withPivot(['level'])
            ->as('access')
            ->using(OrganisationUser::class);
    }
    
    public function canAccessTenant(Model $tenant): bool
    {
        return $this->organisations()->whereKey($tenant)->exists();
    }
    
    public function getTenants(Panel $panel): array|Collection
    {
        return $this->organisations;
    }
    
  • 问题现象:
    登录面板后可正常查看已自动按租户组织作用域过滤的角色列表,但尝试查看组织列表时,出现如下错误:

    模型 [App\Models\Organisation] 不存在名为 [organisation] 的关联。你可以在配置的 [tenant()] 方法中通过 [ownershipRelationship] 参数修改使用的关联,也可以在 [App\Filament\Resources\OrganisationResource] 资源类上设置 [$tenantOwnershipRelationshipName] 静态属性来为单个资源修改关联。

  • 用户疑惑:
    理解部分场景需手动定义关联,但不清楚Filament为何要在Organisation模型中查找名为organisation的关联。

内容的提问来源于stack exchange,提问作者Adam Hopkinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 10:45:00