2010-08-21 25 views
0

Je construis un blog comme une application où un auteur crée un post et les utilisateurs sans enregistrer de commentaire sur le post le commentaire sera affiché si et seulement approuvé par l'auteur, l'aide que je veux concerne la base de données table, j'ai créé une table qui contiendra les enregistrements tels que le nom, l'email, le téléphone, l'emplacement etc. J'ai défini un nouvel id comme clé étrangère pour contenir l'id des nouvelles auxquelles il appartient.système de commentaires en PHP

alt text

est-ce la bonne façon de le faire que le système de commentaires sera construit sur plusieurs à un rapport, ou dois-je créer une autre table pour définir les clés étrangères? comment puis-je y arriver?

Répondre

1

Une relation un à plusieurs peut être mappée avec une clé étrangère dans l'une des tables ou avec une table de jonction.

La façon dont vous le faites est généralement préférée. Un utilisateur a un élément newsitem_id et plusieurs utilisateurs peuvent être associés à un élément de publication.

Si vous souhaitez stocker des informations supplémentaires, par exemple lorsque l'élément a été ajouté, une table de jonction peut être utilisée. En outre, si vous pensez que vous souhaitez avoir plusieurs utilisateurs dans une rubrique, vous avez besoin d'une table de jonction.

+0

merci je suis coller avec la table actuelle .. –

1

Votre approche est fondamentalement saine. (Bien qu'un meilleur nom pour new_id serait bon.) Vous n'avez pas besoin d'une table supplémentaire pour réaliser ce que vous décrivez. Faire new_id une clé étrangère serait bénéfique dans la mesure où elle renforcerait l'intégrité référentielle (si vous supprimez un post, les commentaires seraient supprimés avec lui.) Faites une recherche ici pour la clé étrangère et il y a plusieurs explications de la clé étrangère.

+0

J'ai utilisé new_id parce que j'ai utilisé le cakephp et j'ai suivi la convention de nommage comme mentionné par cakephp, comme le nom de la table doit être pluriel, j'ai utilisé new_id parce que j'ai une table appelée news que j'ai ommitted les s et rejoins l'id, c'est comme ça que j'ai fait dans cakephp .. merci pour cette gentille réponse .. –

Questions connexes