Bonjour je suis Débutant sur Symfony et je travail suis une application de gestion d'ecole mon probleme est :
j ai une liste moninative des élèves j aimerai sur la liste affcihé l'effective Total , nombre Total des garçon et le nombe total des filles
effective :
Garçon :
Fille :
Merci
Bonjour,
qu'as tu deja mis en place?
As tu deja fait ton routing, ton entity, ton controller et ta vue?
Oui j ai tout fait maintenant comment faire la requète c'est ça qui me pose probleme voila ce que j ai voulu faire :
SELECT COUNT(*)nb FROM user WHERE genre='Feminin'
SELECT COUNT(*)nb FROM user WHERE genre='Masculin'
et puis les additionnés pour avoir l'efffectif mais je sais comment les mettres dans mon Repository pour les faire focntionés
tu peux appeler la method count au moment ou tu fait appel a ton EntityRepository dans ton controller et lui envoyer un array
$userMasculin = $doctrine->getRepository(User::class)->count($userGenderMasculin);
$userFeminin = $doctrine->getRepository(User::class)->count($userGenderFeminin);
ensuite tu peux retrouner tes variables a la vue
public function listeNominativeAction(Request $request)
{
$eleve = $this->get('doctrine.orm.entity_manager')
->getRepository('AppBundle:user')->findByTypeutilisateur('1');
$effectif = $this->get('doctrine.orm.entity_manager')
->getRepository('AppBundle:user')->getEffefctiveEleve();
$effectifs= array();
foreach($effectif as $eff){
$effectifs[]=array (
'nbre'=>$eff['nbre']
);
}
// return new Response($effectif['nbre']);
return $this->render("AppBundle:Admin:listeNominative.html.twig",
array('eleve'=>$eleve,'effectifs'=>$effectifs));
}
voila ce qui a dans nom controleur mon conttroleur
donc je doit pas mettre les requetes dans le repository?
voila la rèquete que j ai fait dans repository
public function getEffefctiveEleve()
{
$queryBuilder = $this->getEntityManager()->createQueryBuilder();
$query= $queryBuilder
->select(COUNT(*))
->from ('AppBundle:user','u')
->where('u.gene = Masculin')
;
return $query
->getQuery()
->getResult();
}
si faut creer des methods dans repo, mais attention la method count attend un array donc la tu auras une erreur.