//already have vehicleID (vcdb_vehicle.ID)? get parts func (v *CurtVehicle) GetPartsFromVehicleConfig(dtx *apicontext.DataContext) (ps []products.Part, err error) { //get parts var p products.Part //get part id db, err := sql.Open("mysql", database.ConnectionString()) if err != nil { return ps, err } defer db.Close() stmt, err := db.Prepare(getPartID) if err != nil { return ps, err } defer stmt.Close() res, err := stmt.Query(v.ID) for res.Next() { err = res.Scan(&p.ID) if err != nil { return ps, err } //get part -- adds some weight err = p.FromDatabase(getBrandsFromDTX(dtx)) if err != nil { return ps, err } ps = append(ps, p) } defer res.Close() return ps, err }