在Sonata Admin QueryBuilder中加入别名

I'm trying to "translate" query from this thread to query builder in Sonata Admin.

I figured something like this:

$e = $qb->expr();
$a = $qb->getRootAlias();

$qb->select("{$a}.id");
$qb->addSelect("COUNT(t2.id) as countKorekty");
$qb->addSelect("{$a}.created");      
$qb->leftJoin("EsurfSedinMainBundle:Deklaracja", 't2', "t2.deklaracja = {$a}.id");
$qb->groupBy("{$a}.id");

But when check profiler, it returns:

SELECT 
d0_.id AS id0, 
COUNT(d1_.id) AS sclr1, 
d0_.created AS created2 
FROM 
Deklaracja d0_ 
LEFT JOIN Deklaracja d1_ ON (d0_.created >= ? AND d0_.id = d0_.deklaracja_id) 
AND d1_.discr IN ('deklaracja', 'korekta') 
WHERE d0_.discr IN ('deklaracja', 'korekta') 
GROUP BY d0_.id 

It's like a query builder changed my second alias "t2" in inner join to root alias {$a}. In that case my query is working incorrectly.