GORM は SQL を使用した IIF 関数をサポートしていますか?
<p>課題用のテーブル、解決策用のテーブル、生徒用のテーブルがあります。
すべての課題を取得し、各課題に、現在ログインしている学生が課題を試行したかどうかを示す「フラグ」を追加したいと考えています。 </p>
<p>これを試してみました: </p>
<pre class="brush:golang;toolbar:false;">import (
「fmt」
「gorm.io/gorm」
「エンコーディング/json」
「github.com/my_organisation/myorg-repo/db」
)
var データベース *gorm.DB
var solutions[]db.Solution
var listOfAsnmtIDs []uint
func myfuncn (w http.ResponseWriter, r *http.Request){
//...
_ = データベース.Table("ソリューション").Where("瞳孔ID = ?",
生徒.ID).Select("assignment_id").Find(&solutions)
for _、解 := 範囲解 {
listOfAsnmtIDs = append(listOfAsnmtIDs, solution.AssignmentID)
}
応答 := データベース.Table("assignments").Select(`id, created_at, IIF((id IN ?), 'attempted', '未試行') 試行済み`, listOfAsnmtIDs).Find(&allAssignments)
if 応答.RowsAffected < 1 {
応答ToClient(w, 404, nil, "割り当てが見つかりません")
戻る
}
//...
}
</pre></p>