@andrey1s `$user` suppose that it is an instance/object, but your default value for it is empty string. Also method `getQueryBuilderArticle` accepts `$userName = ''` as a first argument. IMO $user should be renamed to `$userName` at all places to make code more readable and reduce number of potential errrors. Somebody can read `$user` and think that it's an instance, but...