Bonjour à tous,
Avant toute chose je vous souhaite une très bonne année 2010.
Je suis en train de réaliser une maquette d'application avec l'ORM Elixir. A un certain stade de l'application, j'ai besoin de mettre en place une relation ternaire et je doute de la faisabilité de la chose...
Prenons pour simplifier l'exemple suivant : Durant une réunion hippique, un "Jockey" participe à plus d'une "Course" (qui contient bien évidemment plus d'un jockey

)
Ce même jockey devra monter plus d'un cheval au cours de cette réunion. Ce même cheval sera utilisé par plusieurs jockeys
En lisant la documentation d'Elixir, il existe bien la notion "n -- m" entre 2 tables avec la syntaxe suivante
[...]
class Jockey(Entity):
Lib = Field(String(15), required=True)
ChevauxMontes = ManyToMany('Cheval')
class Cheval(Entity):
Lib = Field(String(25), required=True)
JockeysUtilisateurs = ManyToMany('Jockey')
Cela va créer une table du type Jockey_Has_Cheval avec les 2 champs identifiants des tables jockey et cheval (ici par défaut "id") mais quid de la méthode pour indiquer dans cette table composite la notion de l'identifiant de la classe Course ? Existe-t-il une option miracle que je n'aurais pas détecté dans la doc d'Elixir ?
Si cela n'est pas possible il faudrait alors passer par une décomposition de cette relation ternaire en 3 relations "n -- m" entre ces 3 tables (cela me generait tant il y aurait lourdeur dans la description de l'application).
Vous remerciant d'avance pour vos lumières concernant mon souci de conception de base avec Elixir
Cypang