Add type hinting to where relation has methods e.g. whereHas
, orWhereHas
, whereDoesntHave
, orWhereDoesntHave
, whereHasMorph
, orWhereHasMorph
, whereDoesntHaveMorph
, orWhereDoesntHaveMorph
-User::whereHas('posts', function ($query) {
+User::whereHas('posts', function (\Illuminate\Contracts\Database\Query\Builder $query) {
$query->where('is_published', true);
});
-$query->whereHas('posts', function ($query) {
+$query->whereHas('posts', function (\Illuminate\Contracts\Database\Query\Builder $query) {
$query->where('is_published', true);
});
Configure your rector.php
:
<?php
use RectorLaravel\Rector\MethodCall\EloquentWhereRelationTypeHintingParameterRector;
use Rector\Config\RectorConfig;
return RectorConfig::configure()
->withRules([
EloquentWhereRelationTypeHintingParameterRector::class,
]);