From 3a886dca5c7ec4854b316b1ac3bcdf9c43c1760b Mon Sep 17 00:00:00 2001 From: Lazizbek Ergashev Date: Fri, 21 Aug 2026 17:00:05 +0500 Subject: [PATCH] fix: resolve scope builder class against the model being documented (#1796) --- src/Console/ModelsCommand.php | 2 +- .../QueryScopes/Models/Article.php | 9 +++++ .../QueryScopes/Models/ArticleParent.php | 16 ++++++++ .../__snapshots__/Test__test__1.php | 39 +++++++++++++++++++ 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 tests/Console/ModelsCommand/QueryScopes/Models/Article.php create mode 100644 tests/Console/ModelsCommand/QueryScopes/Models/ArticleParent.php diff --git a/src/Console/ModelsCommand.php b/src/Console/ModelsCommand.php index f3fb773..acc03a9 100644 --- a/src/Console/ModelsCommand.php +++ b/src/Console/ModelsCommand.php @@ -716,7 +716,7 @@ class ModelsCommand extends Command //Remove the first ($query) argument array_shift($args); $builder = $this->getClassNameInDestinationFile( - $reflection->getDeclaringClass(), + new ReflectionClass($model), get_class($model->newModelQuery()) ); $modelName = $this->getClassNameInDestinationFile( diff --git a/tests/Console/ModelsCommand/QueryScopes/Models/Article.php b/tests/Console/ModelsCommand/QueryScopes/Models/Article.php new file mode 100644 index 0000000..c7df663 --- /dev/null +++ b/tests/Console/ModelsCommand/QueryScopes/Models/Article.php @@ -0,0 +1,9 @@ +|Article draft() + * @method static \Illuminate\Database\Eloquent\Builder|Article newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Article newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Article query() + * @mixin \Eloquent + */ +class Article extends ArticleParent +{ +} +|ArticleParent draft() + * @method static Builder|ArticleParent newModelQuery() + * @method static Builder|ArticleParent newQuery() + * @method static Builder|ArticleParent query() + * @mixin \Eloquent + */ +class ArticleParent extends Model +{ + public function scopeDraft(Builder $query): Builder + { + return $query; + } +} +