Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Ici, j'ai créé un form traditionnelle qui ajoute un utilisateur, une question et une réponse et se sont tous les trois des clefs étrangères, du coup, j'obtiens des listes déroulantes.
<?php
namespace App\Form;
use App\Entity\ReponseUtilisateur;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\RadioType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class ReponseUtilisateurType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('Question')
->add('Reponse', EntityType::class,[
'class' => 'App\Entity\Reponse',
'expanded'=> true,
'multiple'=>false
])
// ->add('Reponse', CheckboxType::class)
// ->add('Reponse', RadioType::class)
->add('Utilisateur')
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => ReponseUtilisateur::class,
]);
}
}
{{ form_start(form) }}
{{ form_row(form.Utilisateur) }}
{{ form_widget(form.Question) }}
{{ form_widget(form.Reponse) }}
{{ form_end(form) }}
/**
* @Route("/new", name="questionnaire_new", methods={"GET","POST"})
*/
public function new(Request $request): Response
{
$questionnaire = new Questionnaire();
$form = $this->createForm(QuestionnaireType::class, $questionnaire);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($questionnaire);
$entityManager->flush();
return $this->redirectToRoute('questionnaire_index');
}
return $this->render('questionnaire/new.html.twig', [
'questionnaire' => $questionnaire,
'form' => $form->createView(),
]);
}
Ce que je veux
J'aimerais ne plus avoir de liste déroulante, mais une question puis ces questions en radio bouton ou checkbox puis la 2ème question ...