Maison >développement back-end >Golang >Comment interroger les commentaires dans Golang

Comment interroger les commentaires dans Golang

PHPz
PHPzoriginal
2023-04-14 09:33:53859parcourir

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.

  1. Obtenir tous les commentaires d'un certain article

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.

  1. Obtenir tous les commentaires postés par un utilisateur

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.

  1. Obtenir le commentaire parent d'un commentaire

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.

  1. Obtenir le nombre de commentaires sur un certain article

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn