From 3ddd4e5bfb5af36784f8f22662ac364c6dcfbcc5 Mon Sep 17 00:00:00 2001 From: Alies Lapatsin Date: Wed, 13 Mar 2024 01:47:39 +0100 Subject: [PATCH 1/2] Register handler for Models only (bypass an issue in ide-helper) --- src/Fakes/FakeModelsCommandLogic.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Fakes/FakeModelsCommandLogic.php b/src/Fakes/FakeModelsCommandLogic.php index 6674d796..376cfab1 100644 --- a/src/Fakes/FakeModelsCommandLogic.php +++ b/src/Fakes/FakeModelsCommandLogic.php @@ -12,13 +12,26 @@ trait FakeModelsCommandLogic { - /** @var array */ + /** @var list> */ private $model_classes = []; /** @return array */ public function getModels(): array { - return $this->model_classes + $this->loadModels(); + if ($this->dirs === []) { + throw new \LogicException('Directories to scan models are not set.'); + } + + $models = []; + + // Bypass an issue https://github.com/barryvdh/laravel-ide-helper/issues/1414 + foreach ($this->loadModels() as $probably_model_fqcn) { + if (is_string($probably_model_fqcn) && is_a($probably_model_fqcn, Model::class, true)) { + $models[] = $probably_model_fqcn; + } + } + + return array_merge($this->model_classes, $models); } /** From 29ff76babf6a93c6efc564dc13b31f0ba0b801aa Mon Sep 17 00:00:00 2001 From: Alies Lapatsin Date: Wed, 13 Mar 2024 01:50:07 +0100 Subject: [PATCH 2/2] Import functions --- src/Fakes/FakeModelsCommandLogic.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Fakes/FakeModelsCommandLogic.php b/src/Fakes/FakeModelsCommandLogic.php index 376cfab1..66c22d5d 100644 --- a/src/Fakes/FakeModelsCommandLogic.php +++ b/src/Fakes/FakeModelsCommandLogic.php @@ -8,7 +8,10 @@ use function config; use function get_class; use function in_array; +use function is_string; use function implode; +use function is_a; +use function array_merge; trait FakeModelsCommandLogic {