func (a *WriterApi) Save(args util.MapData) (string, error) { cid := args.GetString("cid") title := args.GetString("title") body := args.GetBytes("body") images := args.GetStringSlice("images") au := a.GetUserAuth() var err error model := article.NewArticleModel() if cid == "" { cid, err = model.New(au.UserID(), title, body) } else { _, err = model.Update(cid, title, body) } if err != nil { return cid, err } article, _ := db.NewQueryBuilder(model.Table()).Select("id").Where("cid=?", cid).QueryOne() if article.Empty() { return cid, gos.DoError("没有找到相应的记录") } count := len(images) if count > 0 { image := db.DataRow{} image["article_id"] = article.GetInt64("id") for i := 0; i < count; i++ { images[i] = fmt.Sprint("'", images[i], "'") } db.NewUpdateBuilder("images"). Where(fmt.Sprint("name in (", strings.Join(images, ","), ")")). Update(image) } return cid, nil }