GoDasturchi
Defining Models

Defining Models

Modellarni e'lon qilish

GORM'da "model" — oddiy Go struct'i, lekin maxsus maydon nomlari va tag'lar orqali jadval tuzilishini belgilaydi.

example.go
package main

import "time"

type User struct {
	ID        uint      // "ID" nomi GORM tomonidan avtomatik asosiy kalit (primary key) deb tanilinadi
	Name      string
	Age       int
	Email     string    `gorm:"unique"`      // ustunga UNIQUE cheklovi qo'shadi
	CreatedAt time.Time                        // GORM avtomatik to'ldiradi
	UpdatedAt time.Time                        // GORM har yangilashda avtomatik yangilaydi
}

GORM'ning "konventsiya kodifikatsiyadan ustun" ("convention over configuration") tamoyili: ID nomli maydon avtomatik asosiy kalit bo'ladi, CreatedAt/UpdatedAt nomli maydonlar esa GORM tomonidan avtomatik boshqariladi — hech qanday qo'shimcha sozlash shart emas. Struct maydonlaridan (User) jadval nomi ham avtomatik hosil qilinadi: ko'plik va kichik harf bilan — users. gorm:"unique" kabi tag'lar orqali qo'shimcha cheklovlarni belgilash mumkin (bu "JSON Encoding Basics" darsida ko'rgan json:"..." tag'lariga juda o'xshash mexanizm).

Key Takeaway

Key Takeaway:

GORM modellari — oddiy struct'lar; ID, CreatedAt, UpdatedAt kabi nomlar avtomatik ma'noga ega bo'ladi, qo'shimcha qoidalar gorm:"..." tag'lari orqali qo'shiladi.

NEXT UP

AutoMigrate Deep Dive

Defining Models

Modellarni e'lon qilish

GORM'da "model" — oddiy Go struct'i, lekin maxsus maydon nomlari va tag'lar orqali jadval tuzilishini belgilaydi.

example.go
package main

import "time"

type User struct {
	ID        uint      // "ID" nomi GORM tomonidan avtomatik asosiy kalit (primary key) deb tanilinadi
	Name      string
	Age       int
	Email     string    `gorm:"unique"`      // ustunga UNIQUE cheklovi qo'shadi
	CreatedAt time.Time                        // GORM avtomatik to'ldiradi
	UpdatedAt time.Time                        // GORM har yangilashda avtomatik yangilaydi
}

GORM'ning "konventsiya kodifikatsiyadan ustun" ("convention over configuration") tamoyili: ID nomli maydon avtomatik asosiy kalit bo'ladi, CreatedAt/UpdatedAt nomli maydonlar esa GORM tomonidan avtomatik boshqariladi — hech qanday qo'shimcha sozlash shart emas. Struct maydonlaridan (User) jadval nomi ham avtomatik hosil qilinadi: ko'plik va kichik harf bilan — users. gorm:"unique" kabi tag'lar orqali qo'shimcha cheklovlarni belgilash mumkin (bu "JSON Encoding Basics" darsida ko'rgan json:"..." tag'lariga juda o'xshash mexanizm).

Key Takeaway

Key Takeaway:

GORM modellari — oddiy struct'lar; ID, CreatedAt, UpdatedAt kabi nomlar avtomatik ma'noga ega bo'ladi, qo'shimcha qoidalar gorm:"..." tag'lari orqali qo'shiladi.

NEXT UP

AutoMigrate Deep Dive