Bonsoir à tous,
Je souhaiterai pour ma culture personnelle savoir s'il est possible de convertir une requête sql réalisée avec doctrine :
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
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();
La partie que je ne sais pas compléter a été remplacée par ???????.
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');
En vous remerciant par avance.
Partager