Bonjour, j'ai une relation (enseigner) qui relie trois tables (enseignants, modules, sections) toutes ces relations sont reliées par des cardinalités de type (1-n).donc la relation qui doit sortir est la suivante si on applique les conventions de CAKEPHP enseignants_modeules_sections(enseignant_id,section_id,module_id).
le probleme c'est en utilisant une HABTM
model:enseignant: $hasAndBelongsToMany=array('section','module'); sa ne marche pas le message affiche est: la table enseignant_module est introuvable.
existe il un moyen de creer des relations ternaires avec CakePHP?
Merci de repondre
Je pense qu'il ne faut pas utilisé HABTM pour des relation (1-n).
si j'ai bien compris tu a 3 relations (1-n) :
si j'en prends une :
les enseignants ONT_PLUSIEURS modules?
les modules APPARTIENNENT à un enseignant?
implique :
à faire 3 fois pour tes 3 relation (1-n)
Ici un enseignant peut enseigner 1 ou plusieurs modules et un module peut être enseigner par 1 ou plusieurs enseignants
Un enseignant peut enseigner dans une ou plusieurs sections et une section peut avoir un ou plusieurs enseignants
un module peut être enseigner dans une ou plusieurs sections et dans une section on peux enseigner un ou plusieurs modules
Voila comment le système organise.
donc c'est pas (1-n) mais bien (n-n) ^^
dans ce cas il faut bien HABTM.
3 HABTM pour les 3 relations (n-n)
je pense qu'il faut 3 tables :
enseignants_modules(enseignant_id,module_id),
modules_sections(section_id,module_id),
enseignants_sections(enseignant_id,section_id)
avec dans chaque models un truc du genre $hasAndBelongsToMany=array('Section','Module'); (comme tu l'avait mit)
il faut tester comme ça et ça devrait marcher.
C'est ce que j'ai fais merci pour ta réponse.Ya donc pas moyen de faire directement du ternaire et d'avoir une seule relation (table)
enseignants_modules_sections('id','enseignant_id','section_id','module_id').c'est dommage !.