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
相关产品推荐
相关产品推荐

