Add generic Builder return type to scopes in child of Illuminate\Database\Eloquent\Model
use App\Post;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class Post extends Model
{
+ /**
+ * @param \Illuminate\Database\Eloquent\Builder<static> $query
+ * @return \Illuminate\Database\Eloquent\Builder<static>
+ */
public function scopePopular(Builder $query): Builder
{
return $query->where('votes', '>', 100);
}
}
Configure your rector.php:
<?php
use RectorLaravel\Rector\ClassMethod\AddGenericBuilderToScopesRector;
use Rector\Config\RectorConfig;
return RectorConfig::configure()
->withRules([
AddGenericBuilderToScopesRector::class,
]);