Salut à tous !
Voilà je tourne en rond depuis un moment car je n'arrive à choisir la meilleure façon de modeliser les relations entre class User et Language
Pour commencer je m'explique, j'ai une entité User, celui-ci à plusieurs propriétés dont ses langues parlées ( ex : anglais, allemand, italien).
Language à un id et code (code de la langue, ex = EN)
Le truc c'est que ces langues et leur niveau (de 1 à 3 pour débutant, bon, expert) peuvent se décomposer comme ça =>
1) Langue native ( exemple FR) (niveau max par défaut = 3)
2) EN avec un niveau à (bon = 2 par exemple)
3)Eo avec niveau à (débutant = 1 )
4) etc..
Donc, est-ce que User doit avoir une proprieté langue native et langue apprisent, ou seulement languages (array) qui prendra les langues de l'user sans distinction en langue native et langue ?
Les relations, un User peut avoir 0 (car pas demander à l'inscription sinon 1 mini) ou plusieurs langues, et Language peut appartenir a 0 ou * User
Je ne sais pas si je dois faire une relation manyToMany avec une classe intermédiaire pour ajouter le niveau de la langue au passage ou juste une propriété languages en array qui contient0 à * Language (instance de) et du coup cette propriété languages serait juste un OneToMany..
Bref je m'y prend surement pas de la bonne façon, et mélange un peu tout, c'est pour ça que je post ici pour avoir une vision extérieure, des idées de comment arriver au résultat souhaité..
Merci.