Ajouter un champ à une table ManyToMany

Le problème exposé dans ce sujet a été résolu.

Bonjour =)

J’ai ma table principale User, et dedans j’ai un champ Free :

/**
 * @ORM\ManyToMany(targetEntity=User::class)
 * @ORM\JoinTable(name="free")
 */
private $free;

J’ai 2 champs dans la table free : id_source et id_target.

Est-ce possible d’y ajouter un ou plusieurs autres champs ?

Merci ;)

+0 -0

Hello,

Je crois que tu fais un amalgame avec les modèles de données type Merise où on peut placer des champs sur la relation (et cela se matérialise par une table intermédiaire).

En fait avec Doctrine, ManyToMany est un raccourcis sympa car bien souvent on n’a pas besoin de champs supplémentaire, mais dans la théorie, en réalité, il faudrait créer une entité intermédiaire pour la relation. Et dans ton cas tu n’auras tout simplement pas le choix: c’est comme cela que fonctionne Doctrine.

J’ose imaginer que ma réponse est un peu décevante mais Doctrine a malheureusement quelques limites ! :) (et quand bien même, en terme de représentation dans tes objets ajouter un champs dans la configuration de ton entité à une table intermédiaire ça serait… compliqué !)

PS: attention il me semble que tu as posté ton message dans la mauvaise catégorie du forum (il a dû être déplacé pour toi car il était dans programmation je crois 🧐).

+0 -0

Ok je m’en contenterai alors, je vais faire autrement, merci de ta super explications!

PS : c’est du développement web alors je sais pas trop :P

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte