Sommaire

Traitement de la jointure ManyToMany

La jointure ManyToMany est un peu plus complexe à mettre en oeuvre puisque cette fois, il faut imbriquer plusieurs formulaires, autant de fois qu’il y a besoin de jointures avec l’entité inverse.

Il faudra toujours utiliser la propriété qui sert de jointure, mais cette fois, le type de champ utilisé sera CollectionType. CollectionType

Exemple : créez un formulaire pour l’entité Distributeur.

php bin/console make:form

Puis donnez le nom de l’entité sur laquelle doit s’appuyer le formulaire :

The name of Entity or fully qualified model class name that the new form 
will be bound to (empty for none): 
>Distributeur

Dans le formulaire DistributeurType.php, renseignez le type du champ : nom.

Supprimez le type de la propriété produit inutile ici.

<?php 
 
namespace App\Form; 
 
use App\Entity\Distributeur; 
use Symfony\Component\Form\AbstractType; 
use Symfony\Component\Form\FormBuilderInterface; 
use Symfony\Component\OptionsResolver\OptionsResolver; 
use Symfony\Component\Form\Extension\Core\Type\TextType; 
 
class DistributeurType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder,  
                 array $options) 
    { 
        $builder->add(’nom’,TextType::class,array(  ...