Bonjour,
Je cherche des renseignements sur les limites du système de behaviors de Doctrine, et bien qu'il existe quantité de tutos sur la création de templates "basiques" (des templates "publishable", en veux-tu en voilà ^^), je ne trouve que peu d'information sur des templates plus évolués...
Imaginons que je veuille créer un template "Categorizable", permettant de lier un objet à une catégorie. Fonctionnellement, chaque objet d'un modèle "categorizable" doit pouvoir être rattaché à une catégorie, mais uniquement à une catégorie liée à son modèle propre.
Exemple :
- des news peuvent être rattachés à une catégorie "évenement" ou "conférence"
- des produits peuvent être rattachés à une catégorie "informatique" ou "électro-ménager"
- une news ne doit surtout pas appartenir à la catégorie "informatique", sinon c'est le drame !
Je vois pour l'instant deux genre d'implémentation possible, c'est sur la deuxième que je cherche des renseignements :
1 - Créer tout d'abord une table "Categorie", qui contiendra un champ "origin". Ainsi par exemple mon objet news ne pourrait être rattaché qu'aux catégories présentant un attribut "origin = news".
Dans ce cas là, le template est tout simple et ne créé qu'une relation vers la table catégorie et quelques méthodes. Le problème est que sémantiquement, une grosse table "catégorie" regroupant toutes les catégories de tous les modèles, ça m'a pas l'air très propre.
2 - Chaque modèle "categorizable" possède sa propre table MONDELE_categorie.
Dans ce cas de figure, le template doit alors :
- gérer la création de la table MODELE_categorie
- ajotuer un champ id_categorie à la table MODELE
- ajouter les méthodes qui vont bien
Je ne sais pas si l'exemple est très parlant (très bizarrement, dans ma tête ça avait l'air mieux :p) mais la question est cependant simple : un template Doctrine peut-il créer une nouvelle table, et si oui comment ?
A priori je pense que oui, le behaviour i18n le fait, mais la lecture du code de ce dernier ne m'a absolument pas éclairé ...
Merci d'avance !
Partager