Quelqu'un at-il fait face à ce problème étrange avec symfony3 (toute dernière version)?
J'ai le code simple suivant
$repository = $this->getDoctrine()
->getManager()
->getRepository('GeneralRegistrationBundle:Service');
$service = $repository->findOneBy(array('name' => 'Registration'),array('name' => 'ASC'));
$comment = $service->getComment();
$name = $service->getName();
return new Response('le service is '. $name . ', content is ' . $comment);
ce code fonctionne. Je purge le cache et change findOneBy avec findBy:
$service = $repository->findBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0);
alors j'ai l'erreur suivante:
Erreur: appel à une fonction membre getComment () sur le tableau
Quelqu'un a-t-il des idées ou des indices?
Merci d'avance
findBy () renvoie un tableau d'objets avec les conditions données. renvoie un tableau vide si aucun n'est trouvé. S'il n'y a qu'une seule ligne satisfaisant votre condition, vous devez ajouter un [0] à la fin de votre service $ comme ceci:
$service = $repository->findBy(array('name' => 'Registration'),array('name' => 'ASC'),1 ,0)[0];
sinon, vous devez parcourir le tableau trouvé avec foreach ou quelque chose de similaire.