fix: resolve scope builder class against the model being documented (#1796)

This commit is contained in:
Lazizbek Ergashev
2026-08-21 14:00:05 +02:00
committed by GitHub
parent 20497cb988
commit 3a886dca5c
4 changed files with 65 additions and 1 deletions
+1 -1
View File
@@ -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(
@@ -0,0 +1,9 @@
<?php
declare(strict_types=1);
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\QueryScopes\Models;
class Article extends ArticleParent
{
}
@@ -0,0 +1,16 @@
<?php
declare(strict_types=1);
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\QueryScopes\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
class ArticleParent extends Model
{
public function scopeDraft(Builder $query): Builder
{
return $query;
}
}
@@ -4,6 +4,45 @@ declare(strict_types=1);
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\QueryScopes\Models;
/**
* @method static \Illuminate\Database\Eloquent\Builder<static>|Article draft()
* @method static \Illuminate\Database\Eloquent\Builder<static>|Article newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|Article newQuery()
* @method static \Illuminate\Database\Eloquent\Builder<static>|Article query()
* @mixin \Eloquent
*/
class Article extends ArticleParent
{
}
<?php
declare(strict_types=1);
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\QueryScopes\Models;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
/**
* @method static Builder<static>|ArticleParent draft()
* @method static Builder<static>|ArticleParent newModelQuery()
* @method static Builder<static>|ArticleParent newQuery()
* @method static Builder<static>|ArticleParent query()
* @mixin \Eloquent
*/
class ArticleParent extends Model
{
public function scopeDraft(Builder $query): Builder
{
return $query;
}
}
<?php
declare(strict_types=1);
namespace Barryvdh\LaravelIdeHelper\Tests\Console\ModelsCommand\QueryScopes\Models;
use Illuminate\Database\Eloquent\Attributes\Scope;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;