кстати car.mechanic.owner это ведь перекрывает вышеприведённый метод, т.е. я мог его совсем не создавать, и работало бы так: whereHas('car.mechanic', function ...
Mechanic model public function owner(){ return $this->hasManyThrough('App\Models\Owner', 'App\Models\Car'); } а это работает, но нужно наоборот, из owner->mechanic