Bonjour tout le monde,
voilà quelques jours que je bosse sur un petit projet de CMS utilisant l'ORM Doctrine...
J'ai commencé à bosser dessus en partant du principe :
- tout d'abord, j'ecris mes schema YAML
- je génère les modèles et la base
Le problème avec cet ordre-là, c'est que j'ai pensé que mon application peut évoluer, il peut y avoir de nouveaux champs etc... et en relançant le script qui génère les modèles et la base, je me retrouve avec un FATAL ERROR (foreign key constraint etc...)
Je me suis donc dit, travaillons plutot sur cet ordre là :
- je pose mes tables
- je génère mes modèles
Pour l'instant, celà fonctionnait plutot bien, maiis je rencontre un soucis au niveau des relations "MANY TO MANY"...
Est-ce possible de générer la relation "MANY TO MANY" sur un modèle, avec une convention particulière sur la BDD ?
--------------------------------
Voici mon exemple :
J'ai donc 4 tables : category, post, media et media_post
La relation simple marche parfaitement mais la relation many to many n'est pas fonctionnelle :
Voili voilou, j'espere qu'il y a une façon de générer ce type de relation... j'ai beaucoup aimé le fait de travailler sur des fichiers YAML, mais la modification des tables de la base de donnée et ses relations est fortement possible... et ce cms sera dans le but de gagner du temps sur le développement... :p en esperant que quelqu'un ait une petite idée ! merci beaucoup !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $post = Doctrine_Core::getTable('Post')->findOneById(1); // relation one to one echo $post->Category->name; // marche parfaitement // relation many to many echo $post->Medias->name; // ne marche pas // relation one to many echo $post->MediaPosts[0]->Media->name // marche parfaitement, mais n'est pas un raccourcis...
Très bonne soirée,
Cordialement,
Léo
Partager