1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 17:44:04 +00:00

more phpstan fixes

This commit is contained in:
Samuel Štancl 2024-08-06 18:26:46 +02:00
parent a4318d81bd
commit 87e02f207f
4 changed files with 15 additions and 2 deletions

View file

@ -16,6 +16,8 @@ parameters:
ignoreErrors: ignoreErrors:
- -
identifier: missingType.iterableValue 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\\Foundation\\Application#'
- '#Cannot access offset (.*?) on Illuminate\\Contracts\\Config\\Repository#' - '#Cannot access offset (.*?) on Illuminate\\Contracts\\Config\\Repository#'
- '#Call to an undefined method(.*?)Tenant\:\:run\(\).#' - '#Call to an undefined method(.*?)Tenant\:\:run\(\).#'

View file

@ -17,7 +17,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
interface Domain interface Domain
{ {
/** /**
* @return BelongsTo<Tenant&Model, Model> * @return BelongsTo<Tenant&Model, $this&Model>
*/ */
public function tenant(): BelongsTo; public function tenant(): BelongsTo;
} }

View file

@ -27,9 +27,16 @@ class Domain extends Model implements Contracts\Domain
protected $guarded = []; protected $guarded = [];
/**
* @return BelongsTo<Tenant&Model, $this>
*/
public function tenant(): BelongsTo public function tenant(): BelongsTo
{ {
return $this->belongsTo(config('tenancy.models.tenant'), Tenancy::tenantKeyColumn()); /** @var class-string<Tenant&Model> $tenantModel */
$tenantModel = config('tenancy.models.tenant');
/** @var BelongsTo<Model&Tenant, $this> */
return $this->belongsTo($tenantModel, Tenancy::tenantKeyColumn());
} }
protected $dispatchesEvents = [ protected $dispatchesEvents = [

View file

@ -63,6 +63,10 @@ class Tenant extends Model implements Contracts\Tenant
return static::current() ?? throw new TenancyNotInitializedException; return static::current() ?? throw new TenancyNotInitializedException;
} }
/**
* @param array<self> $models
* @return TenantCollection<int|string, self>
*/
public function newCollection(array $models = []): TenantCollection public function newCollection(array $models = []): TenantCollection
{ {
return new TenantCollection($models); return new TenantCollection($models);