本文整理匯總了Golang中github.com/gourd/kit/store.Conds.GetRel方法的典型用法代碼示例。如果您正苦於以下問題:Golang Conds.GetRel方法的具體用法?Golang Conds.GetRel怎麽用?Golang Conds.GetRel使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/gourd/kit/store.Conds
的用法示例。
在下文中一共展示了Conds.GetRel方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Conds
// Conds Translate the store.Conds interface into
// upperio flavor conditions representation
func Conds(cs store.Conds) interface{} {
conds := cs.GetAll()
out := make([]interface{}, 0)
// accumulate relations
for _, cond := range conds {
if cond.Prop == "" {
// if no prop, assume to be prop
if v, ok := cond.Value.(string); ok {
out = append(out, db.Raw{v})
} else if v, ok := cond.Value.(store.Conds); ok {
leaf := Conds(v)
out = append(out, leaf)
} else if v, ok := cond.Value.(db.Raw); ok {
out = append(out, v)
} else if v, ok := cond.Value.(db.And); ok {
out = append(out, v)
} else if v, ok := cond.Value.(db.Or); ok {
out = append(out, v)
}
} else {
out = append(out, db.Cond{cond.Prop: cond.Value})
}
}
if len(out) == 0 {
return nil // nil for empty query, searchs everything
}
// determine relations
if cs.GetRel() == store.And {
return db.And(out)
} else if cs.GetRel() == store.Or {
return db.Or(out)
}
panic(fmt.Sprintf("Incorrect value of Rel in %#v", cs))
return nil
}