recherche

Maison  >  Questions et réponses  >  le corps du texte

GORM prend-il en charge les fonctions IIF utilisant SQL ?

<p>J'ai un tableau pour les devoirs, un tableau pour les solutions et un tableau pour les étudiants. Je souhaite récupérer tous les devoirs et pour chaque devoir, je souhaite ajouter un « drapeau » qui indique si l'étudiant actuellement connecté a tenté le devoir. </p> <p>J'ai essayé ceci : </p> <pre class="brush:golang;toolbar:false;">importer ( "fmt" "gorm.io/gorm" "encodage/json" "github.com/my_organisation/myorg-repo/db" ) base de données var *gorm.DB var solutions[]db.Solution var listOfAsnmtIDs []uint func myfuncn (w http.ResponseWriter, r *http.Request){ //... _ = base de données.Table("solutions").Où("id_élève = ?", pupil.ID).Select("assignment_id").Find(&solutions) pour _, solution := gamme de solutions { listOfAsnmtIDs = append(listOfAsnmtIDs, solution.AssignmentID) } réponse := database.Table("assignments").Select(`id,created_at, IIF((id IN ?), 'tentative', 'Non tenté') comme tenté`, listOfAsnmtIDs).Find(&allAssignments) si réponse.RowsAffected < répondToClient(w, 404, nul, "Aucune affectation trouvée") retour } //... } </pre></p>
P粉547362845P粉547362845470 Il y a quelques jours598

répondre à tous(1)je répondrai

  • P粉718730956

    P粉7187309562023-09-02 09:29:54

    Il vous suffit de lister les paramètres. Similaire à ça

        var mad string
        for i, solution := range solutions {
            mad += strconv.FormatUint(uint64(solution.AssignmentID), 10)
            if i != len(solutions) {
                mad += ","
            }
            listOfAsnmtIDs = append(listOfAsnmtIDs, solution.AssignmentID)
        }
    
        response := database.Table("assignments").Select(`id, created_at, IIF((id IN ?), 'attempted', 'Not attempted') as attempted`, mad).Find(&allAssignments)
    

    répondre
    0
  • Annulerrépondre