Ud fra hvad jeg læste. Du instansierer UserController med parameteren CompanyController.
Denne instansiering udføres, før du rent faktisk har sendt Auth::login()-kaldet.
Mens du instansierer virksomhedens controller med __construct før du kører confirmUser på userController objektet companyController eksisterer før Auth::login() opkald foretages.