func (c Condition) Or(input interface{}, more ...interface{}) Condition {
	var result Condition
	switch input.(type) {
	case Condition:
		var arr []Condition
		for _, item := range more {
			arr = append(arr, item.(Condition))
		}
		result = combineExpression(logicOr, c, input.(Condition), arr...)
		result.Option = c.Option
	case string:
		value := more[0]
		result = c.Or(Cond(input.(string), value))  
	}
	return result
}
Or accepts <cond>.Or( <cond1>, <cond2> ), also <cond>.Or( "id=", 2 ). Similar to And
package db
import (
	"strings"
	"github.com/digimakergo/digimaker/core/util"
)
var Operators = []string{">", ">=", "<", "==", "<=", "!=", "=", "in", "like"}  
const logicAnd = "and"
const logicOr = "or"
type Expression struct {
	Field    string
	Operator string
	Value    interface{}
}
type ConditionOption struct {
	Sortby      []string
	LimitArr    []int
	AlwaysCount bool
}
type Condition struct {
	Logic    string
	Children interface{}      
	Option   ConditionOption  
}
func (c Condition) Cond(field string, value interface{}) Condition {
	cond := Cond(field, value)
	return c.And(cond)
}
func (c Condition) And(input interface{}, more ...interface{}) Condition {
	var result Condition
	switch input.(type) {
	case Condition:
		inputCond := input.(Condition)
		var arr []Condition
		for _, item := range more {
			arr = append(arr, item.(Condition))
		}
		result = combineExpression(logicAnd, c, inputCond, arr...)
		result.Option = c.Option  
	case string:
		value := more[0]
		result = c.And(Cond(input.(string), value))  
	}
	return result
}