diff --git a/src/Illuminate/Database/Console/ShowModelCommand.php b/src/Illuminate/Database/Console/ShowModelCommand.php index 4ac2ab09f593..d7a44ccf37f9 100644 --- a/src/Illuminate/Database/Console/ShowModelCommand.php +++ b/src/Illuminate/Database/Console/ShowModelCommand.php @@ -10,6 +10,7 @@ use Illuminate\Support\Str; use ReflectionClass; use ReflectionMethod; +use ReflectionNamedType; use SplFileObject; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Output\OutputInterface; @@ -196,8 +197,14 @@ protected function getRelations($model) fn (ReflectionMethod $method) => $method->isStatic() || $method->isAbstract() || $method->getDeclaringClass()->getName() === Model::class + || $method->getNumberOfParameters() > 0 ) ->filter(function (ReflectionMethod $method) { + if ($method->getReturnType() instanceof ReflectionNamedType + && is_subclass_of($method->getReturnType()->getName(), Relation::class)) { + return true; + } + $file = new SplFileObject($method->getFileName()); $file->seek($method->getStartLine() - 1); $code = '';