Bonjour,
Voila je rencontre un petit problème avec mon code.
j'ai suivi ce tuto https://www.youtube.com/watch?v=F0Z-D3MSjA0
j'ai essayé de l'appliquer dans mon projet maisle deuxieme champs ne s'affiche pas (champs equipe)
voici mon code
namespace App\Form;
use App\Entity\Saison;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use App\Entity\Competition;
use App\Entity\Equipe;
class SaisonType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom')
->add('dateDebut', DateType::class)
->add('dateFin', DateType::class)
->add('etat')
->add('competition', EntityType::class, ['class' => Competition::class, 'placeholder' => 'Selectionner une competition', 'mapped' => false, 'required' => true, 'choice_label' => 'nom',])
//->add('equipes', EntityType::class, ['class' => Equipe::class, 'choice_label' => 'nom', 'multiple' => true, 'expanded' => false])
->add('save', SubmitType::class)
;
$builder->get('competition')->addEventListener(
FormEvents::POST_SUBMIT,
function(FormEvent $event){
$form = $event->getForm();
$com = $form->getData();
$pays = $com->getPays();
$form->add('equipes', EntityType::class,
['class' => Equipe::class,
'choice_label' => 'nom',
'multiple' => true, 'expanded' => false,
'query_builder' => function(EquipeRepository $repo) use($pays){
return $repo->getEquipePays($pays);
}]);
}
);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Saison::class,
]);
}
je veux svoir pourquoi le champs equipe ne s'affiche pas et comment resoudre ce probleme
merci d'avance
salut j'ai pas fait grand chose dans ma vue mais voici le code
{% extends "base.html.twig" %}
{% block body %}
<div class = 'text-center'>
ajouter une saison
</div>
<div class ="well">
{{ form(form) }}
</div>
{% endblock %}
oui j'ai cree des equipes et voici le controlleur
class SaisonController extends AbstractController
{
/**
* @Route("/saison/add", name = "sp_saison_add")
*/
public function add(Request $req)
{
$saison = new Saison();
$form = $this->createForm(SaisonType::class, $saison);
$form->handleRequest($req);
if($form->isSubmitted() && $form->isValid())
{
$em = $this->getDoctrine()->getManager();
$em->persist($saison);
$em->flush();
$req->getSession()->getFlashBag()->add('notice', 'Saison bien enregistrée.');
return $this->redirectToRoute('sp_saison_view', ['id' => $saison->getId()]);
}
return $this->render('Saison\addSaison.html.twig', ['form' => $form->createView()]);
}