beego 更新 & 通过 ID 获取 1

Beego update & get 1 by ID

我完全沉迷于Beego,更新并获取。我已经完成了 getall, delete,

问题是我的 ID 是主键。我在模型中转换为等于字符串。如何使用 ID 从 Ticket table 中搜索,以及如何在模型中将其作为 []array 和 return 进行搜索。

控制器

func (i *TicketController) GetTicket() {
    ID := i.GetInt("ID")
    stringID := strconv.Itoa(ID)
    if ID != "" {
        ticket := models.GetTicketById(stringID)
        fmt.Println(ticket)
        i.Data["json"] = ticket
    }
    i.ServeJSON()
}

型号

func GetTicketById(id int64) Ticket {
    t := Ticket{ID: id}
    o := orm.NewOrm()
    err := o.Read(&t)
    if err == orm.ErrNoRows {
        fmt.Println("no result")
    } else if err == orm.ErrMissPK {
        fmt.Println("can't find PK")
    }
    return t
}

我认为你误解了很多事情。我在 link.

上修正了你的代码
  1. 分配为ID,err := i.GetInt64("ID")
  2. 检查错误,就好像 err == nil && ID > 0 {}

https://play.golang.org/p/PY-lc3AfhPw