Passer les variables à la DQL
franckyaz
-
franckyaz -
franckyaz -
bonjour.
j aimerais savoir s il est possible de construire une requette grace DQL où l'on passe le nom du champs comme une variable?
bref un truc semblable à ceci:
$appel = 'appelsEmis';
$query = $this->_em->createQuery('SELECT AVG( :appel) from table');
$query->setParameter('appel',$appel);
j aimerais afficher les resultats d'un seul champ de ma table ( et pas tous en meme temps). mais cette table a plus de 28 champ et j aimerais recuperer ces champs par un formulaire. quelqu'un peux m aider svp?
j aimerais savoir s il est possible de construire une requette grace DQL où l'on passe le nom du champs comme une variable?
bref un truc semblable à ceci:
$appel = 'appelsEmis';
$query = $this->_em->createQuery('SELECT AVG( :appel) from table');
$query->setParameter('appel',$appel);
j aimerais afficher les resultats d'un seul champ de ma table ( et pas tous en meme temps). mais cette table a plus de 28 champ et j aimerais recuperer ces champs par un formulaire. quelqu'un peux m aider svp?
A voir également:
- Passer les variables à la DQL
- Passer de qwerty a azerty - Guide
- Passer a windows 10 - Accueil - Mise à jour
- Passer de majuscule à minuscule - Guide
- Passer à windows 11 gratuitement - Guide
- Passer à la ligne excel - Guide
3 réponses
Salut,
oui tu peux, mais il est mieux de vérifier la valeur que modifie dynamiquement dans la requête, avec par exemple in_array().
exemple :
oui tu peux, mais il est mieux de vérifier la valeur que modifie dynamiquement dans la requête, avec par exemple in_array().
exemple :
$fields = ['champ1', 'champs2', 'champs3']; $request = "SELECT AVG(%s) from table"; if (in_array($field, $fields)) { $dql = sprintf($request, $field); $query = $this->_em->createQuery($dql); }
quand je met ceci:
j ai cette erreur ci :
Warning: sprintf(): Too few arguments in C:\wamp\www\erreur\src\Soutenance
$request = "SELECT a.startTime as startTime, MAX(a.%s) as %s FROM SoutenanceCamtelBundle:OutGoingMobile a" ;
$dql = sprintf($request, 'callAttempts');
$query = $this->_em->createQuery($dql);
j ai cette erreur ci :
Warning: sprintf(): Too few arguments in C:\wamp\www\erreur\src\Soutenance