Maison >développement back-end >Golang >Comment interroger les commentaires dans Golang
Avec la popularité d'Internet, les commentaires sont devenus un élément important de nombreux sites Web. L'existence de commentaires peut rendre le site Web plus interactif et les utilisateurs peuvent également communiquer les opinions de chacun par le biais de commentaires. Cependant, à mesure que le nombre de commentaires augmente, il devient particulièrement important de savoir comment interroger et gérer efficacement les commentaires existants. Cet article explique comment interroger les commentaires dans Golang.
Dans Go, vous pouvez utiliser une base de données pour stocker et interroger les données des commentaires. Afin de faciliter l'opération, nous utilisons le framework ORM GORM du langage Go pour mettre en œuvre les opérations d'ajout, de suppression, de modification et de vérification de commentaires.
Voici un modèle de commentaire simple :
type Comment struct { gorm.Model PostID uint `gorm:"not null"` ParentID uint Content string `gorm:"not null"` IP string `gorm:"not null"` UserAgent string `gorm:"not null"` Author string `gorm:"not null"` }
Dans le code ci-dessus, nous définissons un modèle de commentaire de base en utilisant le type Model de GORM. Dans le même temps, nous utilisons également des attributs tels que PostID et ParentID pour faciliter l'interrogation des commentaires.
Ensuite, nous implémenterons quelques fonctions de requête de commentaires.
Nous pouvons utiliser le code suivant pour obtenir tous les commentaires d'un certain article :
func GetComments(postID uint) ([]Comment, error) { var comments []Comment err := db.Where("post_id = ?", postID).Find(&comments).Error if err != nil { return nil, err } return comments, nil }
Dans le code ci-dessus, nous interrogeons le post_id égal au paramètre postID donné via la méthode Where de GORM Commentaires et renvoie tous les commentaires interrogés.
Si nous voulons obtenir tous les commentaires postés par un utilisateur, nous pouvons utiliser le code suivant :
func GetUserComments(userId uint) ([]Comment, error) { var comments []Comment err := db.Where("author = ?", userId).Find(&comments).Error if err != nil { return nil, err } return comments, nil }
Dans le code ci-dessus, nous interrogeons l'auteur via la méthode Where de GORM est égal à Commentaires paramètre donné userId et renvoie tous les commentaires interrogés.
Si un commentaire a un commentaire parent, nous pouvons utiliser le code suivant pour interroger son commentaire parent :
func GetParentComment(childComment *Comment) (*Comment, error) { var parentComment Comment err := db.Where("id = ?", childComment.ParentID).First(&parentComment).Error if err != nil { return nil, err } return &parentComment, nil }
Dans le code ci-dessus, nous utilisons la première méthode de GORM pour interroger l'identifiant est égal à Un commentaire étant donné le paramètre childComment.ParentID et renvoie les résultats de la requête à l'appelant.
Enfin, si nous avons besoin d'obtenir le nombre de commentaires sur un certain article, nous pouvons également utiliser le code suivant :
func GetCommentCount(postID uint) (int, error) { var count int err := db.Model(&Comment{}).Where("post_id = ?", postID).Count(&count).Error if err != nil { return 0, err } return count, nil }
Dans le code ci-dessus, nous utilisons le Méthode modèle de GORM pour interroger le post_id Le nombre de commentaires est égal au paramètre postID donné et renvoie les résultats de la requête.
Jusqu'à présent, nous avons présenté les opérations liées à la façon d'effectuer une requête de commentaire dans Go. Grâce à ces codes simples, nous pouvons interroger et gérer efficacement les commentaires existants, ce qui constitue une aide précieuse pour le fonctionnement du site Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!