Внешний ключ Gorm Many-to-one только для одной модели

Используя gorm в golang, у меня есть 2 модели: отгрузка и клиент

В основном в модели отгрузки у меня есть int, который соответствует идентификатору клиента. Но на клиенте у меня нет поля, чтобы связать его с отгрузками.

Вот мои модели:

type Shipment struct {
    ID                                      int64         `json:"id"`
    Customer                                Customer      `json:"customer"`
} 

type Customer struct {
    ID                                  int64       `json:"id"`
    Name                                string      `json:"name"`
} 

В базе у меня есть:

map_shipment (table name)
id, customer_id
map_customer (table name)
id, name

Вот запрос, который я сейчас использую.

db.Table("map_shipment").Preload(clause.Associations).Find(&shipments)

Как я могу запретить gorm искать поле ShipmentId на клиенте?

См. также:  Управляемый Azure QnA Maker (предварительная версия) - отображать длинный ответ только при получении ответа от бота
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Adrien Chapelet

    Мне нужно было просто добавить CustomerID int в модель доставки, чтобы она работала.

    Итак, модель отгрузки:

    type Shipment struct {
        ID                                      int64         `json:"id"`
        CustomerID                              int64         `json:"customer_id"`
        Customer                                Customer      `json:"customer"`
    } 
    

    Нет необходимости добавлять какие-либо ссылки на отгрузку или [] отгрузку в модели клиента.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: