
Pour gérer les sélecteurs (ManyToOne, ManyToMany), on utilise la librairie select2.js.

Pour l'implémenter dans le formType, il faudra :
1. localiser le champ à traiter dans le formType (dans src/Forms)
2. modifier les options du champ

## Pour un champ de type ManyToOne

Prenons l'exemple d'un builder classique :

```php
$builder  
    ->add('dateCreation', null, [  
        "label" => "Date de création"  
    ])  
    ->add('titre', null, [  
        "label" => "Titre du log"  
    ])   
    ->add('user', EntityType::class, [  
        'class' => User::class,  
        'label' => "Utilisateur concerné",
    ])  
;
```

Il suffira d'ajouter une ligne "**'attr' => "class" => "js-example-basic-single"]**" dans les options du champ pour prendre en compte l'utilisation du select2 :

```php
$builder  
    ->add('dateCreation', null, [  
        "label" => "Date de création"  
    ])  
    ->add('titre', null, [  
        "label" => "Titre du log"  
    ])  
    ->add('user', EntityType::class, [  
        'class' => User::class,  
        'label' => "Utilisateur concerné",  
	    'attr' => ["class" => "js-example-basic-single"],
    ]) 
;
```

On peut également ajouter l'attribut "**'required' => false**" si le champ n'est pas requis (attention à l'entité correspondante)

## Pour un champ de type ManyToMany

Prenons l'exemple d'un builder classique :

```php
$builder  
    ->add('code', null, [  
        'label' => 'Code de la catégorie d\'utilisateurs'  
    ])  
    ->add('nom', null, [  
        'label' => 'Nom de la catégorie d\'utilisateurs'  
    ])  
    ->add('remarque', null, [  
        'label' => 'Remarque'  
    ])  
    ->add('users', EntityType::class, [  
        'class' => User::class,  
        'label' => 'Utilisateurs concernés',  
        'multiple' => true,  
    ])  
;
```

Il suffira d'ajouter les lignes suivantes dans les options du champ pour prendre en compte l'utilisation du select2 :

```php
$builder  
    ->add('code', null, [  
        'label' => 'Code de la catégorie d\'utilisateurs'  
    ])  
    ->add('nom', null, [  
        'label' => 'Nom de la catégorie d\'utilisateurs'  
    ])  
    ->add('remarque', null, [  
        'label' => 'Remarque'  
    ])  
    ->add('users', EntityType::class, [  
        'class' => User::class,  
        'label' => 'Utilisateurs concernés',  
        'multiple' => true,  
        'by_reference' => false,  
        'mapped'=>true,  
        // 'required' =>false,  
        'attr' => ["class" => "js-example-basic-single"],  
    ])  
;
```

On peut également décommenter l'attribut "**'required' => false**" si le champ n'est pas requis (attention à l'entité correspondante)