Bonjour,
Désolé pour ma réponse tardive j'ai été très occupé ces temps ci.
Donc je viens pour vous dire que c'est encore un échec cuisant.
Je n'arrive pas a questionner ma BDD ORACLE.
J'ai reregarder les méthodes tout les sites possible et je ne comprends pas j'y suis pas.
Je dois pas être loin je pense, mais j'échoue.
Donc pour récapituler j'ai quatre classes (je sais que je peux faire en trois classes).
Ma classe Customer.php avec ceciet un petit toString tout simpleCode:
1
2 namespace RPConsulting\TestBundle\Entity; use Doctrine\ORM\Mapping as ORM;
Code:
1
2
3 public function __toString(){ return $this->getCust_Sid(); }
Ma classe CustomerRepository.php
Je pense que la fonction getCustomerBySid je pourrais la mettre dans Customer ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php namespace RPConsulting\TestBundle\Repository; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Query\ResultSetMapping; class CustomerRepository extends EntityRepository { public function getCustomerBySid($sid) { $sql = 'SELECT cust_sid FROM customer WHERE cust_sid='.$sid; $rsm = new ResultSetMapping(); $rsm->addEntityResult('RPConsulting\TestBundle\Entity\Customer', 'c'); /*->addFieldResult('LN', 'LAST_NAME', 'LAST_NAME') ->addFieldResult('FN', 'FIRST_NAME', 'FIRST_NAME');*/ $qns = $this->_em->createNativeQuery($sql, $rsm); $qns->getResult(); } }
Mon twig
Et mon testController.phpCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 {# empty Twig template #} <!DOCTYPE html> <html> <head> <title>RPC !</title> </head> <body> <p> {% for entity in entities %} <tr> <td>{{ entity.cust_sid }}</td> </tr> {% endfor %} </p> </body> </html>
Voilà. Je pense ne pas être très très loin du but mais quand j'execute mon test il n'y a rien qui s'affiche à l'écran (une page blanche même pas d'erreur).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php namespace RPConsulting\TestBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class TestController extends Controller { public function indexAction() { // Récupération du service Doctrine, qui lui même va te donner l'entityManager $em = $this->getDoctrine()->getManager(); // L'entityManager te fournit le Repository associé à ton entité Test (c'est plutôt l'entité Customer qu'il faudrait mettre ici en l'occurrence) et appeler la méthode allCustomer() du repo $entities = $em->getRepository('RPConsultingTestBundle:Customer')->getCustomerBySid(-4625289327815487492); // Tu vas afficher le template test.html.twig en lui passant en paramètre la variable entities qui correspondra au résultat de ta requête return $this->render('RPConsultingTestBundle:Test:test.html.twig', array('entities' => $entities)); } }
Si vous me dites que tout est bon avec ça c'est juste ma connexion a ma BDD qui foire et la vous pourrez pas m'aider.
Merci beaucoup !