2017-05-26 2 views
0

J'ai un formulaire fait dans Twig et je veux passer les valeurs de ce formulaire à ma base de données, alors comment transmettre les valeurs Twig au contrôleur?Brindille et contrôleur dans Symfony

Dans la première photo est la forme que j'ai créé dans brindille Formulario twing

Dans la deuxième image est le contrôleur (les entités, et la connexion avec la base de données avec ORM doctrine est trop complète), il est seulement nécessaire de savoir comment prendre les données de formulaire et de passer au contrôleur Controller

+3

On ne sait pas ce que vous demandez. Il semble que vous ne compreniez pas comment les choses fonctionnent dans Symfony, et il est difficile de deviner ce que vous essayez de faire. Des exemples de code seraient utiles aussi. –

+0

Je suis nouveau à symfony, donc c'est compliqué pour moi, j'ai mis à jour la question avec les photos, voir si maintenant tu comprends –

Répondre

0

dans official la documentation que vous pouvez trouver le flux, comment créer une entité, forme, modèle de brindille et des ensembles de données dans la base de données.

Si vous avez besoin d'obtenir des données de formulaire utilisez:

if ($form->isSubmitted() && $form->isValid()) { 
      // -------- Hear you take data -------- 
      $ideda = $form->get('ideda')->getData(); 
      $email = $form->get('email')->getData(); 
      $telemovel = $form->get('telemovel')->getData(); 
      // ---------- Hear you set data's --------- 
      $usuario -> setIdeda($ideda); 
      $usuario -> setEmail ($email); 
      $usuario -> setTelemovel($telemovel); 
     }): 
+0

J'ai créé des entités, base de données, et tout fonctionne parfaitement, maintenant le formulaire que j'ai créé à partir de html pur , J'ai mis à jour la question avec quelques photos –

+0

mettre à jour la réponse * –

0

Lorsque formulaire vous présente obtiendrez une requête POST à ​​la même URL qu'il a été construit en bâton à ce tutoriel. http://symfony.com/doc/current/forms.html

+0

Le problème est que j'ai créé le formulaire avec les codes html, j'ai mis à jour la question avec quelques photos, jetez un oeil –

0

Si vous créez un formulaire avec le formulaire html et non symfony, vous devez gérer manuellement le formulaire et l'autre étape. vous devez soumettre votre formulaire à votre route de contrôleur qui semble être cadastrarAction(). Ne pas oublier de déclarer la route avec POST méthode pour cadastrarAction().
Dans le contrôleur, vous pouvez accéder aux données publiées à partir de l'argument de requête comme ceci.

use Symfony\Component\HttpFoundation\Request; 

class FooController extends Controller { 

    cadastrarAction(Request $request) 
    { 
     // Find what you exactly want. if you want to get query use this 
     $request->getQueryString() 
    } 
} 

Ceci est une mauvaise pratique qui déclare le formulaire manuellement. vous devez utiliser FormType pour gérer facilement et conserver la forme de la base de données. utiliser symfony site officiel pour plus d'informations sur la forme et l'entité.