PHPStan(Larastan)のModelのリレーションメソッドで発生したエラーを解消

2025-05-13 | カテゴリー: IT技術

記事のメイン画像

PHPStanを実行した際に、Modelクラスを対象にこんなエラーがでました。

Method App\Models\Studio::reservations() return type with generic class Illuminate\Database\Eloquent\Relations\HasMany does not specify its types: TRelatedModel, TDeclaringModel
         🪪  missingType.generics

下記のようにPHPDocを書いてやるとエラーが解消します。
こちらのフォーラムの内容が参考になりました。

https://laracasts.com/discuss/channels/laravel/larastan-and-eloquent-relations

/**
     * @return HasMany<Reservation, $this>
     */
    public function reservations(): HasMany
    {
        return $this->hasMany(Reservation::class);
    }
© Copyright 2025 浅井 All rights reserved.