Unterstützt GORM IIF-Funktionen mit SQL?
P粉547362845
2023-09-01 16:06:17
<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>
您只需要列出参数。类似于这样