package model type CustomerCart struct { CartID uint64 `gorm:"column:cart_id;primaryKey;autoIncrement" json:"cart_id"` UserID uint64 `gorm:"column:user_id;not null;index" json:"user_id"` Name *string `gorm:"column:name;size:255" json:"name,omitempty"` Products []CartProduct `gorm:"foreignKey:CartID;references:CartID" json:"products,omitempty"` } func (CustomerCart) TableName() string { return "b2b_customer_carts" } type CartProduct struct { ID uint64 `gorm:"column:id;primaryKey;autoIncrement" json:"id"` CartID uint64 `gorm:"column:cart_id;not null;index" json:"cart_id"` ProductID uint `gorm:"column:product_id;not null" json:"product_id"` ProductAttributeID *uint64 `gorm:"column:product_attribute_id" json:"product_attribute_id,omitempty"` Amount int `gorm:"column:amount;not null" json:"amount"` } func (CartProduct) TableName() string { return "b2b_carts_products" }