Unterstützt GORM IIF-Funktionen mit SQL?
<p>Ich habe eine Tabelle für Aufgaben, eine Tabelle für Lösungen und eine Tabelle für Schüler.
Ich möchte alle Aufgaben abrufen und für jede Aufgabe eine „Markierung“ hinzufügen, die anzeigt, ob der aktuell angemeldete Schüler die Aufgabe versucht hat. </p>
<p>Ich habe Folgendes versucht: </p>
<pre class="brush:golang;toolbar:false;">import (
"fmt"
"gorm.io/gorm"
„encoding/json“
"github.com/my_organisation/myorg-repo/db"
)
var-Datenbank *gorm.DB
var Solutions[]db.Solution
var listOfAsnmtIDs []uint
func myfuncn (w http.ResponseWriter, r *http.Request){
//......
_ = Datenbank.Table("Lösungen").Where("pupil_id = ?",
Schüler.ID).Select("assignment_id").Find(&solutions)
für _, Lösung := Bereichslösungen {
listOfAsnmtIDs = append(listOfAsnmtIDs, Solution.AssignmentID)
}
Antwort := Datenbank.Table("Aufgaben").Select(`id, erstellt_at, IIF((id IN ?), 'versucht', 'Nicht versucht') wie versucht`, listOfAsnmtIDs).Find(&allAssignments)
wenn Response.RowsAffected <
respondToClient(w, 404, nil, "Keine Zuweisungen gefunden")
zurückkehren
}
//......
}
</pre></p>