Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire imbriqué Symfony 5

Données non validées

    18 octobre 2020 à 12:39:58

    Bonjour,

    J'ai un souci sur mes formulaires avec Symfony que je n'arrive pas à résoudre.Mon premier formulaire permet de rajouter des cibles de clients (Mairie, particulier, Association etc ...) ces infos sont reliés avec les Activités (Activity). Je souhaite pouvoir choisir les cibles depuis les formulaires Activités & Cibles.

    Actuellement, je n'arrive qu'à mapper les cibles à des activités depuis le formulaire Target. De l'autre côté, rien ne se passe...

    J'ai également réussi depuis le controller à créer depuis le formulaire Activity de nouvelles cibles ... Mais je veux pourvoir en créér et en supprimer uniquement depuis la page 'Target' et en sélectionner d'autres depuis 'Activity'

     /**Entity Target.php
         * @ORM\Id
         * @ORM\GeneratedValue
         * @ORM\Column(type="integer")
         */
        private $id;
    
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $name;
    
        /**
         * @ORM\ManyToMany(targetEntity=Activity::class, inversedBy="targets",cascade={"persist"})
         */
        private $activity;
    
        public function __construct()
        {
            $this->activity = new ArrayCollection();
        }
    
        public function getId(): ?int
        {
            return $this->id;
        }
    
        public function getName(): ?string
        {
            return $this->name;
        }
    
        public function setName(string $name): self
        {
            $this->name = $name;
    
            return $this;
        }
    
        /**
         * @return Collection|Activity[]
         */
        public function getActivity(): Collection
        {
            return $this->activity;
        }
    
        public function addActivity(Activity $activity): self
        {
            if (!$this->activity->contains($activity)) {
                $this->activity[] = $activity;
            }
    
            return $this;
        }
    
        public function removeActivity(Activity $activity): self
        {
            if ($this->activity->contains($activity)) {
                $this->activity->removeElement($activity);
            }
    
            return $this;
        }
        public function __toString()
        {
            return $this->name;
    
        }
    }
    

    Entity Activity

     /**
         * @ORM\ManyToMany(targetEntity=Target::class, mappedBy="activity")
         */
        private $targets;

    ActivityForm

    ->add('targets', EntityType::class, [
                    'class' => Target::class,
                    'multiple' => true,
                    'expanded' => true,
                ])

    Merci pour votre aide



    • Partager sur Facebook
    • Partager sur Twitter

    Formulaire imbriqué Symfony 5

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown