Laravel の Model::find と PHPStan
Laravel の Model::find は引数の型によって戻り値が異なります。
- 引数がintなら、単一のモデルのインスタンス
- 引数が配列なら、配列
ここで PHPStan で静的チェックをした時に、引数の型があいまいだとエラーになることがあります。
$user = User::find($value);
$result = $user->name; // ここでエラーになる
$value の型が明確ではない場合、$user は単一のインスタンスか配列のどちらかになります。
そのため、$user->name は、配列だった場合にエラーになるため、PHPStan はエラーとして検知します。
最近のコメント