İçeriğe geç

Eksik Eager Load (ARCH5051)

Anahtar go.orm.missing-eager-load · Önem warning · Kategori orm

İlişkili veri üzerinde döngü kurarken Preload gibi bir eager load API’si bildirilmemesi N+1 sorgularına yol açar. İlişkiyi önceden yükleyin.

var orders []Order
db.Find(&orders)
for _, o := range orders {
fmt.Println(o.Customer.Name) // Customer lazy yükleniyor
}
var orders []Order
db.Preload("Customer").Find(&orders)
for _, o := range orders {
fmt.Println(o.Customer.Name)
}

İlişkili veriye erişen sorgularda ilgili ilişkiyi Preload ile eager olarak yükleyin.