bonjour,
je veux ajouter un Customers dans la base de donnée voila mes classes :
CustomersType:
CustomersHandler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <?php namespace Customers\CustomerBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; class CustomersType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { $builder ->add('name') ->add('adress') ->add('tel1') ->add('tel2') ->add('fax') ->add('email') ->add('matriculeFiscale') ->add('registreCommerce') ->add('managerName') ->add('managerTel') ->add('managerEmail') ->add('loginProvider') ->add('passwordProvider') ->add('login') ->add('password') ->add('ipAutorized') ->add('idCategorie','entity', array('class'=>'data\baseBundle\Entity\Categories','property'=>'idCategorie', )); } public function getName() { return 'Customers_CustomerBundle_Customers_Type'; } public function getDefaultOptions(array $options) { return array( 'data_class' => 'data\baseBundle\Entity\Customers', ); } } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <?php namespace Customers\CustomerBundle\Form; use Symfony\Component\Form\Form; use Symfony\Component\HttpFoundation\Request; use Doctrine\ORM\EntityManager; use data\baseBundle\Entity\Customers; use data\baseBundle\Entity\Categories; use Symfony\Component\HttpFoundation\Response; class CustomersHandler { protected $form; protected $request; protected $em; public function __construct(Form $form, Request $request, EntityManager $em ) { $this->form = $form; $this->request = $request; $this->em = $em; } public function process() { if( $this->request->getMethod() == 'POST' ) { $this->form->bindRequest($this->request); if( $this->form->isValid()) { return new Response("Hello World !"); $this->onSuccess($this->form->getData()); return true; } } return false; } public function onSuccess(Customers $Customers) { $Customers->setDateCreation(new \DateTime()); $this->em->persist($Customers); $this->em->flush(); } } ?>
le probléme que l'exécution ne traverse pas la condition
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <?php namespace Customers\CustomerBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use data\baseBundle\Entity\Customers; use Customers\CustomerBundle\Form\CustomersType; use Customers\CustomerBundle\Form\CustomersHandler; class CustomersController extends Controller { public function ajouterAction() { $Customers = new Customers; $form = $this->createForm(new CustomersType, $Customers); // On crée le gestionnaire pour ce formulaire, avec les outils dont il a besoin $formHandler = new CustomersHandler($form, $this->get('request'), $this->getDoctrine()->getEntityManager()); // On exécute le traitement du formulaire. S'il retourne true, alors le formulaire a bien été traité if( $formHandler->process() ) { return $this->render('CustomersCustomerBundle::test.html.twig'); } return $this->render('CustomersCustomerBundle::ajouter.html.twig',array( 'form' => $form->createView(),) ); } } ?>
aucun erreur n'est survenue mais l'ajout dans la base ca marche pas,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if( $this->form->isValid()) { return new Response("Hello World !");//pour le test $this->onSuccess($this->form->getData()); return true; }
avez vous une aide?
merci d'avance.
Partager