示例#1
0
文件: zzaccount.go 项目: oov/sqruct
func (t *Account) Delete(db sqruct.DB) error {
	b, tbl := zzAccount{}.DeleteBuilder()
	sql, args := b.Where(
		q.Eq(tbl.ID(), t.ID),
	).ToSQL()
	_, err := db.Exec(sql, args...)
	return err
}
示例#2
0
文件: zzpost.go 项目: oov/sqruct
func (t *Post) Update(db sqruct.DB) error {
	b, tbl := zzPost{}.UpdateBuilder(t)
	sql, args := b.Where(
		q.Eq(tbl.ID(), t.ID),
	).ToSQL()
	_, err := db.Exec(sql, args...)
	return err
}
示例#3
0
文件: zzposttag.go 项目: oov/sqruct
func (t *PostTag) Insert(db sqruct.DB) error {

	b, _ := zzPostTag{}.InsertBuilder(t)
	sql, args := b.ToSQL()
	_, err := db.Exec(sql, args...)
	return err

}
示例#4
0
文件: zzposttag.go 项目: oov/sqruct
func (t *PostTag) Delete(db sqruct.DB) error {
	b, tbl := zzPostTag{}.DeleteBuilder()
	sql, args := b.Where(
		q.Eq(tbl.PostID(), t.PostID),
		q.Eq(tbl.TagID(), t.TagID),
	).ToSQL()
	_, err := db.Exec(sql, args...)
	return err
}
示例#5
0
文件: zzaccount.go 项目: oov/sqruct
func (t *Account) Insert(db sqruct.DB) error {

	b, tbl := zzAccount{}.InsertBuilder(t)
	if !sqruct.IsZero(t.ID) {
		sql, args := b.Set(tbl.ID(), t.ID).ToSQL()
		_, err := db.Exec(sql, args...)
		return err
	}

	sql, args := b.ToSQL()
	r, err := db.Exec(sql, args...)
	if err != nil {
		return err
	}
	var i int64
	if i, err = r.LastInsertId(); err != nil {
		return err
	}

	t.ID = i
	return nil

}