{sf} admin générator basé sur plusieurs tables

Rechercher

{sf} admin générator basé sur plusieurs tables

Par saturn1  -  5 reponses  -  Le 29/05/2009 17:52  -  Editer  - 

Salut j'ai 5tables ~ comme ceci commentaireObjet(id,content,#memberId,#objetId);

Avec objet qui sont News,sons,videos ...

 

Bref je veux adminstrer les commentaires.

Or j'aimerai avoir tous les commentaires sur une même page (le mieux aurait été de faire une seule table commentaire...)

Donc j'ai matté le code source et j'ai vu une méthode buildQuery j'ai essayé de modifier un peu mais j'ai pas trop réussi.

 

Ce genre de chose est - il simple à faire???

 

 

Merci

 

Réponses apportées à cette discussion

Par Emacs  -  Le 30/05/2009 13:12  -  Haut de page  - 

Ne fais qu'une seule table Commentaire dans laquelle tu stockes l'id de l'objet commenté ainsi que son type.

 
Par saturn1  -  Le 30/05/2009 19:55  -  Haut de page  - 

Oui j'y ai pensé mais ...

Ma table commentaire sera :

commentaire(id,content,#objetID,#memberId,objet)

avec objet qui sera : news, son , video ...

Si je met le onDelete:Cascade.

 

Si je supprime un objet news avec l'id 45. Cela supprimera tous les commentaire avec objetId 45 donc aussi les commentaire de du son id 45 , de la video id 45 ...etc..

 

VOis-tu une solution à ce problème??

 

MERCI

 

 
Par Emacs  -  Le 31/05/2009 09:53  -  Haut de page  - 

Avec cette méthode, tu ne pourras pas appliquer de onDelete cascade. Tu devras surcharger le delete() de chaque objet pour intégrer la suppression des commentaires associés.

 
Par Emacs  -  Le 31/05/2009 09:55  -  Haut de page  - 

Ou alors, une autre manière de procéder, c'est de recourir à l'héritage de table grâce à Doctrine. Tu fais une table Comment avec (id, name, email, site, message)... et ensuite tes n rables CommentNews, CommentVideo, CommentMusic... qui dérivent Comment et qui intègrent toute la FK vers les tables de contenu correspondantes. Regarde dans la doc de Doctrine pour y parvenir ;)

 
Par saturn1  -  Le 04/06/2009 22:12  -  Haut de page  - 

Je dois utiliser Simple inheritance ou concrete inheritance??

 

Je pense faire un truc comme sa :

 

Commentaire
actAs:
    Timestampable: ~
  COLUMNS:
    membre_id:
      type: INTEGER(4)
    contenu:
      type: clob
      notnull: TRUE
  relations:
    sfGuardUser:
      onDelete: CASCADE
      local: membre_id
      FOREIGN: id
EvenementCommentaire:
  inheritance:
    extends: Commentaire
    type: concrete ou simple ????
  COLUMNS:
    evenement_id:
      type: INTEGER(4)
      notnull: TRUE
  relations:
    Evenement:
      onDelete: CASCADE
      local: evenement_id
      FOREIGN: id

 

 

Qu'en penses - tu ??

Merci =)

 

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |