package model import ( "github.com/jinzhu/gorm" ) type Product struct { gorm.Model Name string Company Company `json:",omitempty"` CompanyID uint Code string `gorm:"unique; unique_index"` } func GetProducts() ([]*Product) { products := make([]*Product, 0) GetDB().Find(&products) return products } func GetProduct(barcode string) (*Product) { product := &Product{} if GetDB().Where("code = ?", barcode).First(product).RecordNotFound() { return nil } return product } func (product *Product) CreateOrUpdate() (*Product) { GetDB().Save(product) return product; }