filamentphp/filament · error · LogicException
The model [{$recordClass}] does not have a relationship name
Error message
The model [{$recordClass}] does not have a relationship named [{$relationshipName}]. You can change the relationship being used by passing it to the [ownershipRelationship] argument of the [tenant()] method in configuration. You can change the relationship being used per-resource by setting it as the [$tenantOwnershipRelationshipName] static property on the [{$resourceClass}] resource class. What it means
Error "The model [{$recordClass}] does not have a relationship named [{$relationshipName}]. You can change the relationship being used by passing it to the [ownershipRelationship] argument of the [tenant()] method in configuration. You can change the relationship being used per-resource by setting it as the [$tenantOwnershipRelationshipName] static property on the [{$resourceClass}] resource class." thrown in filamentphp/filament.
Source
Thrown at packages/panels/src/Resources/Resource/Concerns/BelongsToTenant.php:99
public static function isScopedToTenant(): bool
{
return static::$isScopedToTenant;
}
public static function getTenantOwnershipRelationshipName(): string
{
return static::$tenantOwnershipRelationshipName ?? Filament::getTenantOwnershipRelationshipName();
}
public static function getTenantOwnershipRelationship(Model $record): Relation
{
$relationshipName = static::getTenantOwnershipRelationshipName();
if ($record->hasAttribute($relationshipName) || (! $record->isRelation($relationshipName))) {
$resourceClass = static::class;
$recordClass = $record::class;
throw new LogicException("The model [{$recordClass}] does not have a relationship named [{$relationshipName}]. You can change the relationship being used by passing it to the [ownershipRelationship] argument of the [tenant()] method in configuration. You can change the relationship being used per-resource by setting it as the [\$tenantOwnershipRelationshipName] static property on the [{$resourceClass}] resource class.");
}
return $record->{$relationshipName}();
}
public static function getTenantRelationshipName(): string
{
return static::$tenantRelationshipName ?? (string) str(static::getModel())
->classBasename()
->pluralStudly()
->camel();
}
public static function getTenantRelationship(Model $tenant): Relation
{
$relationshipName = static::getTenantRelationshipName();
if ($tenant->hasAttribute($relationshipName) || (! $tenant->isRelation($relationshipName))) {View on GitHub (pinned to 53483fa934)
When it happens
Trigger: Thrown at packages/panels/src/Resources/Resource/Concerns/BelongsToTenant.php:99 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of filamentphp/filament@53483fa934 (2026-08-17).
Data as JSON: /api/errors/9ffa2d1f9e717edc.
Report an issue: GitHub.