Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-06-2014 15:22:06

Mikit
Nouveau membre
Date d'inscription: 03-06-2014
Messages: 7

Insérer des donnes avec Doctrine 2

Bonjour,

Suite à la reprise d'un projet, j'ai du me plonger dans ZEND et DOCTRINE.

J'ai donc créer un formulaire afin que les personnes puissent s'inscrire à la Newsletter de l'entreprise.

Suite à ce formulaire, je recupere correctement les données mais je n'arrive pas à les inserer dans ma base de données..

J'ai le tour de certaines discussions sur internet et je n'arrive pas à trouver la solution.

Ici, mon formulaire :

Code:

$this->add(array(
            'name' => 'prenom',
            'attributes' => array(
                'required' => 'required',
                'type'  => 'text',
                'placeholder'=> $placeholderPrenom,
                'class' => 'textbox',   
            ),
        ));
        
        $this->add(array(
            'name' => 'nom',
            'attributes' => array(
                'required' => 'required',
                'type'  => 'text',
                'placeholder'=> $placeholderNom,
                'class' => 'textbox',   
            ),
        ));
        
        $this->add(array(
            'name' => 'adresseCourriel',
            'attributes' => array(
                'required' => 'required',
                'type'  => 'email',
                'placeholder'=> $placeholderCourriel,
                'class' => 'textbox',   
            ),
        ));
        
        $this->add(array(
            'name' => 'codePostal',
            'attributes' => array(
                'required' => 'required',
                'type'  => 'text',
                'placeholder'=> $placeholderCodePostal,
                'class' => 'textbox',   
            ),
        ));
        
        $this->add(array(
            'type' => 'Zend\Form\Element\Select',
            'name' => 'profession',
            'attributes'=> array(
                'required' => 'required',
            ),
            'options' => array(
                'options' => array('0'=>'Choisir...','1' => 'Détaillant', 
                    '2' => 'Designer', '3' => 'Particulier', '4' => 'Autres' ),
                
            ),
        ));

        $this->add(array(
            'name'=>'ok',
            'attributes' =>array(
                'type'=>'submit',
                'value'=>'OK',
                'class'=>'btnSubmit',
                ),
        ));

Et ici mon controller où je récupère les données :

Code:

public function indexAction()
    { 
        $prenom = (string) $this->getRequest()->getPost('prenom');
        $nom = (string) $this->getRequest()->getPost('nom');
        $adresseCourriel = (string) $this->getRequest()->getPost('adresseCourriel');
        $codePostal = (string) $this->getRequest()->getPost('codePostal');
        $profession = (string) $this->getRequest()->getPost('profession');

Et je suis bloqué pour insérer mes données à partir de ce moment-ci..

Merci d'avance pour vos réponses.

Hors ligne

 

#2 09-06-2014 18:08:54

Mikit
Nouveau membre
Date d'inscription: 03-06-2014
Messages: 7

Re: Insérer des donnes avec Doctrine 2

J'ai donc trouvé comment faire l'insertion des données mais cela ne marche toujours pas, ai-je une erreur dans mon code :

Code:

$newsletter = new \Application\Entity\Newsletter();
            
    $newsletter->setNE_Prenom($this->getRequest()->getPost('prenom'));
    

    $em->persist($newsletter);
    $em->flush()

Hors ligne

 

#3 10-06-2014 10:05:40

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Insérer des donnes avec Doctrine 2

Salut, déjà ce qu'il serait bien c'est de donner l'erreur quand tu vas chez le docteur tu lui dis pas "j'ai mal". Là c'est pareil wink.

Ensuite je t'encourage à lire la doc officielle sur les formulaires, regarder la doc de DoctrineModule et DoctrineORMModule il me semble qu'il y a des explications sur l'utilisation des formulaires avec Doctrine parce que là honnêtement vu comment tu récupères les informations de ton formulaire tu n'as pas pu lire la doc officielle à ce sujet. On ne les récupère pas du tout comme ça, là il n'est même pas validé par exemple.

Enfin il y a des sujets qui traitent déjà de ça ici même.

Si jamais tu ne t'en sors pas n'hésites pas à revenir poser des questions wink.

Hors ligne

 

#4 10-06-2014 15:03:53

Mikit
Nouveau membre
Date d'inscription: 03-06-2014
Messages: 7

Re: Insérer des donnes avec Doctrine 2

Je le sais que mes informations ne sont pas validées. J'ai besoin de faire au plus vite c'est pour ca, je voulais absolument que l'ajout en BDD marche !
Doctrine ne me met pas d'erreur, c'est juste qu'il n'ajoute rien en base.

Hors ligne

 

#5 10-06-2014 23:22:07

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Insérer des donnes avec Doctrine 2

Hmm sans erreurs c'est pas facile de savoir faudrait que tu actives le log des requêtes dans MySQL (ou ton SGBD) pour voir ce qui est fait (s'il y a une requête qui est envoyée). Ensuite tu peux essayer quand même un try catch autour du persist/flush pour voir si t'as quelque chose dans l'exception.

Tu pourrais nous mettre le mapping de ton entité aussi voir s'il n'y a pas quelque chose qui ne va pas.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages