Bonsoir à tous,

Je souhaiterai pour ma culture personnelle savoir s'il est possible de convertir une requête sql réalisée avec doctrine :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$em = $this -> get('doctrine.orm.entity_manager');
        $connection = $em -> getConnection();
        $statement = $connection->prepare("SELECT SUBSTRING(userprofile.createdAt, 1, 10) as date,
            (SELECT COUNT(user.id) FROM user
            LEFT JOIN userprofile on user.profile_id = userprofile.id
            WHERE userprofile.createdAt < date) as number
        FROM user
        LEFT JOIN userprofile ON user.profile_id = userprofile.id
        WHERE userprofile.createdAt BETWEEN :start_date AND :end_date
        GROUP BY date");
        $statement->bindValue('start_date', $start_date);
        $statement->bindValue('end_date', $end_date);
        $statement->execute();
        $data = $statement->fetchAll();
en une requête réalisée avec le query builder. Je bloque sur ce que j'appelle le select inclus. Je ne sais pas comment intégrer le SELECT COUNT(user.id) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
$qb = $this -> createQueryBuilder('u')
                    -> select('SUBSTRING(p.createdAt, 1, 10) as date, (?????????) as number 
                    -> join('u.profile', 'p')
                    -> where('p.createdAt BETWEEN :start_date AND :end_date')
                    -> setParameter('start_date', $start_date -> format('Y-m-d'))
                    -> setParameter('end_date',   $end_date   -> format('Y-m-d'))
                    -> groupBy('date');
La partie que je ne sais pas compléter a été remplacée par ???????.

En vous remerciant par avance.