GoDasturchi
Relationships: Belongs To

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

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