Relationships: Belongs To
Bog'lanishlar: "tegishli" (Belongs To)
"Belongs To" — eng oddiy bog'lanish turi: bitta yozuv boshqasiga "tegishli" (masalan har bir Order bitta Userga tegishli). GORM buni struct maydoni orqali avtomatik aniqlaydi.
example.go
type User struct {
ID uint
Name string
}
type Order struct {
ID uint
Item string
UserID uint // GORM buni "chet kalit" (foreign key) deb avtomatik taniydi
User User // bog'langan User yozuvi
}
func main() {
// ...
order := Order{Item: "Klaviatura", UserID: 1}
db.Create(&order)
var found Order
db.First(&found, order.ID)
fmt.Println(found.UserID) // 1 — lekin found.User HALI BO'SH (yuklanmagan)!
}GORM konventsiyasi: agar struct'da User turidagi maydon bo'lsa va yonida UserID (turning nomi + "ID") bo'lsa, GORM buni avtomatik "Belongs To" bog'lanishi deb taniydi. Muhim: oddiy First/Find bilan o'qiganda, bog'langan User maydoni avtomatik yuklanmaydi (bo'sh qoladi) — buni qanday yuklashni keyingi "Preloading Relations" darsida ko'rasiz.
Key Takeaway
Key Takeaway:
"Belongs To" — Model + ModelID juftligi orqali avtomatik aniqlanadigan bog'lanish; bog'langan yozuv standart holatda yuklanmaydi.
NEXT UP
Relationships: Has Many