Реляционный API: where () не может определить столбец, используя классы с именами

Я пытаюсь сделать что-то подобное

$ u = \ Entity \ UserQuery :: create () -> где ('User.Username =?', "john") -> findOne ();

но я получаю эту ошибку

Невозможно определить столбец для привязки к параметру в разделе «User.Username =?»

Хотя тот же код в контексте, отличном от имен, работает нормально.

Я знал, что есть лучшие способы сделать это, но я хочу знать, почему это не удается

Related of "Реляционный API: where () не может определить столбец, используя классы с именами"

Известная проблема:

Лучший способ решить вашу проблему – использовать псевдоним:

$u = \Entity\UserQuery::create('alias') ->where('alias.Username = ?', "john") ->findOne(); 

Следующий код также должен работать:

 $u = \Entity\UserQuery::create('alias') ->where('Entity\UserQuery.Username = ?', "john") // or ->where('\Entity\UserQuery.Username = ?', "john") ->findOne(); 

С уважением, Уильям

Указание третьего параметра, типа привязки, помогло мне:

 $u = \Entity\UserQuery::create() ->where('alias.Username = ?', "john", \PDO::PARAM_STR) ->findOne();