From 87e02f207f9b7923ac88fdb98b78ccc32253123a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Tue, 6 Aug 2024 18:26:46 +0200 Subject: [PATCH] more phpstan fixes --- phpstan.neon | 2 ++ src/Contracts/Domain.php | 2 +- src/Database/Models/Domain.php | 9 ++++++++- src/Database/Models/Tenant.php | 4 ++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 27341217..fafcc146 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -16,6 +16,8 @@ parameters: ignoreErrors: - identifier: missingType.iterableValue + - '#Return type(.*?) of method Stancl\\Tenancy\\Database\\Models\\Tenant\:\:newCollection\(\) should be compatible with return type#' + - '#Method Stancl\\Tenancy\\Database\\Models\\Tenant\:\:newCollection\(\) should return#' - '#Cannot access offset (.*?) on Illuminate\\Contracts\\Foundation\\Application#' - '#Cannot access offset (.*?) on Illuminate\\Contracts\\Config\\Repository#' - '#Call to an undefined method(.*?)Tenant\:\:run\(\).#' diff --git a/src/Contracts/Domain.php b/src/Contracts/Domain.php index d99cc603..ddfe75ab 100644 --- a/src/Contracts/Domain.php +++ b/src/Contracts/Domain.php @@ -17,7 +17,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; interface Domain { /** - * @return BelongsTo + * @return BelongsTo */ public function tenant(): BelongsTo; } diff --git a/src/Database/Models/Domain.php b/src/Database/Models/Domain.php index 4d552b12..e624c513 100644 --- a/src/Database/Models/Domain.php +++ b/src/Database/Models/Domain.php @@ -27,9 +27,16 @@ class Domain extends Model implements Contracts\Domain protected $guarded = []; + /** + * @return BelongsTo + */ public function tenant(): BelongsTo { - return $this->belongsTo(config('tenancy.models.tenant'), Tenancy::tenantKeyColumn()); + /** @var class-string $tenantModel */ + $tenantModel = config('tenancy.models.tenant'); + + /** @var BelongsTo */ + return $this->belongsTo($tenantModel, Tenancy::tenantKeyColumn()); } protected $dispatchesEvents = [ diff --git a/src/Database/Models/Tenant.php b/src/Database/Models/Tenant.php index c98292c1..d513542b 100644 --- a/src/Database/Models/Tenant.php +++ b/src/Database/Models/Tenant.php @@ -63,6 +63,10 @@ class Tenant extends Model implements Contracts\Tenant return static::current() ?? throw new TenancyNotInitializedException; } + /** + * @param array $models + * @return TenantCollection + */ public function newCollection(array $models = []): TenantCollection { return new TenantCollection($models);