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( ...