Как в gorm (golang) прописать связи таблиц?

Пользователь

от roma , в категории: Golang , год назад

Как в gorm (golang) прописать связи таблиц?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nelle , год назад

@roma 

Пользователь

от urban_will , 4 месяца назад

@roma 

В GORM, для создания связей между таблицами можно использовать методы BelongsTo, HasOne, HasMany, ManyToMany и другие методы для описания отношений между структурами данных.


Пример использования BelongsTo для определения отношения между двумя таблицами:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
type User struct {
    ID    uint
    Name  string
    Email string
    Posts []Post
}

type Post struct {
    ID     uint
    Title  string
    Body   string
    UserID uint
}

// Определение связи между таблицами
DB.Model(&Post{}).BelongsTo(&User{})


В данном примере таблица Post имеет внешний ключ UserID, который связан с полем ID структуры User. Метод BelongsTo определяет отношение, при котором каждая запись в таблице Post принадлежит определенному пользователю из таблицы User.


Также можно использовать другие методы для определения различных типов отношений между таблицами в GORM.