Beego обновление и получить 1 по ID - PullRequest
1 голос
/ 18 марта 2019

Я абсолютно застрял в Beego, обнови и получи. Я уже сделал getall, удалите,

Проблема в том, что мой идентификатор является первичным ключом. Я превращаю в строку, чтобы равняться в модели. Как выполнить поиск в таблице заявок с использованием идентификатора, а в модели - как получить массив [] и вернуть его.

Контроллер

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
}

1 Ответ

1 голос
/ 18 марта 2019

Я думаю, вы неправильно понимаете многие вещи. Я исправил твой код по этой ссылке.

  1. Назначить как идентификатор: err: = i.GetInt64 ("ID")
  2. Проверьте ошибку, как если бы err == nil && ID> 0 {}

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

...