コード例 #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

}