GORM prend-il en charge les fonctions IIF utilisant SQL ?
P粉547362845
P粉547362845 2023-09-01 16:06:17
0
1
583
<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粉547362845
P粉547362845

répondre à tous(1)
P粉718730956

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)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!