@@ -580,13 +580,46 @@ func (sb *SQLBuilder) FromOne(s string) *SQLBuilder {
580580 return sb
581581}
582582
583+ // Where : just equal WhereAndStr
584+ func (sb * SQLBuilder ) WhereStr (s string ) * SQLBuilder {
585+ return sb .WhereAndStr (s )
586+ }
587+
588+ func (sb * SQLBuilder ) WhereAndStr (s string ) * SQLBuilder {
589+ if s == "" {
590+ sb .PanicOrErrorLog ("must be support conditions" )
591+ }
592+
593+ if sb .IsHasWheres () {
594+ sb .wheres = append (sb .wheres , fmt .Sprintf ("AND %s" , s ))
595+ } else {
596+ sb .wheres = append (sb .wheres , s )
597+ }
598+
599+ return sb
600+ }
601+
602+ func (sb * SQLBuilder ) WhereOrStr (s string ) * SQLBuilder {
603+ if s == "" {
604+ sb .PanicOrErrorLog ("must be support conditions" )
605+ }
606+
607+ if sb .IsHasWheres () {
608+ sb .wheres = append (sb .wheres , fmt .Sprintf ("OR %s" , s ))
609+ } else {
610+ sb .wheres = append (sb .wheres , s )
611+ }
612+
613+ return sb
614+ }
615+
583616// Where : just equal WhereAnd
584617func (sb * SQLBuilder ) Where (s string , o string , v interface {}) * SQLBuilder {
585618 return sb .WhereAnd (s , o , v )
586619}
587620
588621func (sb * SQLBuilder ) WhereAnd (s string , o string , v interface {}) * SQLBuilder {
589- if len ( s ) == 0 && s != "" && o ! = "" {
622+ if s == "" || o = = "" {
590623 sb .PanicOrErrorLog ("must be support conditions" )
591624 }
592625
@@ -609,7 +642,7 @@ func (sb *SQLBuilder) WhereAnd(s string, o string, v interface{}) *SQLBuilder {
609642}
610643
611644func (sb * SQLBuilder ) WhereOr (s string , o string , v interface {}) * SQLBuilder {
612- if len ( s ) == 0 && s != "" && o ! = "" {
645+ if s == "" || o = = "" {
613646 sb .PanicOrErrorLog ("must be support conditions" )
614647 }
615648
@@ -649,7 +682,6 @@ func (sb *SQLBuilder) joinOn(p string, j string, s string, o string, v interface
649682 switch v .(type ) {
650683 case string :
651684 sb .joins = append (sb .joins , fmt .Sprintf ("%sJOIN %s ON %s %s '%s'" , p , j , EscapeStr (s , sb .IsMysql ()), EscapeStr (o , sb .IsMysql ()), EscapeStr (v .(string ), sb .IsMysql ())))
652-
653685 default :
654686 sb .joins = append (sb .joins , fmt .Sprintf ("%sJOIN %s ON %s %s %v" , p , j , EscapeStr (s , sb .IsMysql ()), EscapeStr (o , sb .IsMysql ()), v ))
655687 }
0 commit comments