Formulaire imbriqué à true..
Bonjour,
J'ai mon objet uzer,
qui a une relation M2M avec mon objet uzercateg.
Je souhaiterai que mon lien entre mon objet uzer et uzercateg soit à true pour tout les entrée que l'on aura pour uzercateg. et je souhaiterai caché cette partie du formulaire.
Je créé un formulaire externe:
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 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <?php
namespace SB\UserBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class UzerType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('lastname', 'text', array('label' => 'nom de famille'))
->add('firstname')
->add('uzercaracs', 'entity', array(
'class' => 'SBUserBundle:UzerCarac',
'property' => 'title', 'expanded' => true,
'multiple' => true))
->add('uzercategs', 'entity', array(
'class' => 'SBUserBundle:UzerCateg',
'property' => 'title', 'expanded' => true,
'multiple' => true))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'SB\UserBundle\Entity\Uzer'
));
}
public function getName()
{
return 'sb_userbundle_uzertype';
}
} |
voici mon controleur:
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
| public function editAction($id)
{
$repository = $this->getDoctrine()
->getManager()
->getRepository('SBUserBundle:Uzer');
$uzer = $repository->find($id);
$form = $this->createForm(new UzerType, $uzer);
if($uzer === null)
{
throw $this->createNotFoundException('Vous n\'avez pas encore ajouté d\'utilisateur');
}
$request = $this->get('request');
if ($request->getMethod() == 'POST') {
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($uzer);
$em->flush();
return $this->redirect($this->generateUrl('uzer_gest_view_user', array('id' => $uzer->getId(),'uzer'=>$uzer)));
}
}
return $this->render('SBUserBundle:UzerGest:edituzer.html.twig', array('id' => $uzer->getId(),'form' => $form->createView()));
} |