row := db.QueryRow(`SELECT * FROM users WHERE id = ?`, userID)
model := Model
row.Scan(&model.ID, &model.Name, &model.RelatedAttribute)
// 複数行のときはNextを使う
for rows.Next() {
...
}
has many な関係
親のIDをセレクト後にそれをin句に指定して子をセレクトし、それをマップにするのが良いと思う。
m := map[int][]string{}
ary, ok := m[1]
if ok {
m[1] = append(ary, "val-1")
} else {
m[1] = []string{"val-1"}
}
ary, ok = m[1]
if ok {
m[1] = append(ary, "val-2")
} else {
m[1] = []string{"val-2"}
}
なにをやるか
なぜやるか
劇的な改善が見込めるから
どうやるか
ORM依存が大きいと思う。 過去問では標準ライブラリの "database/sql" が使われることが多いのでこれを仮定する。
belongs to な関係
has many な関係
親のIDをセレクト後にそれをin句に指定して子をセレクトし、それをマップにするのが良いと思う。