@@ -2909,6 +2909,58 @@ func (s *QueryTestSuite) TestWhereNotBetween() {
29092909 }
29102910}
29112911
2912+ func (s * QueryTestSuite ) TestOrWhereBetween () {
2913+ for driver , query := range s .queries {
2914+ s .Run (driver .String (), func () {
2915+ user := User {Name : "or_where_between_user" , Avatar : "or_where_between_avatar" }
2916+ s .Nil (query .Create (& user ))
2917+ s .True (user .ID > 0 )
2918+
2919+ user1 := User {Name : "or_where_between_user_1" , Avatar : "or_where_between_avatar_1" }
2920+ s .Nil (query .Create (& user1 ))
2921+ s .True (user1 .ID > 0 )
2922+
2923+ user2 := User {Name : "or_where_between_user_2" , Avatar : "or_where_between_avatar_2" }
2924+ s .Nil (query .Create (& user2 ))
2925+ s .True (user2 .ID > 0 )
2926+
2927+ user3 := User {Name : "or_where_between_user_3" , Avatar : "or_where_between_avatar_3" }
2928+ s .Nil (query .Create (& user3 ))
2929+ s .True (user3 .ID > 0 )
2930+
2931+ var users []User
2932+ s .Nil (query .Where ("name = ?" , "or_where_between_user_3" ).OrWhereBetween ("id" , user .ID , user2 .ID ).Find (& users ))
2933+ s .True (len (users ) == 4 )
2934+ })
2935+ }
2936+ }
2937+
2938+ func (s * QueryTestSuite ) TestOrWhereNotBetween () {
2939+ for driver , query := range s .queries {
2940+ s .Run (driver .String (), func () {
2941+ user := User {Name : "or_where_between_user" , Avatar : "or_where_between_avatar" }
2942+ s .Nil (query .Create (& user ))
2943+ s .True (user .ID > 0 )
2944+
2945+ user1 := User {Name : "or_where_between_user_1" , Avatar : "or_where_between_avatar_1" }
2946+ s .Nil (query .Create (& user1 ))
2947+ s .True (user1 .ID > 0 )
2948+
2949+ user2 := User {Name : "or_where_between_user_2" , Avatar : "or_where_between_avatar_2" }
2950+ s .Nil (query .Create (& user2 ))
2951+ s .True (user2 .ID > 0 )
2952+
2953+ user3 := User {Name : "or_where_between_user_3" , Avatar : "or_where_between_avatar_3" }
2954+ s .Nil (query .Create (& user3 ))
2955+ s .True (user3 .ID > 0 )
2956+
2957+ var users []User
2958+ s .Nil (query .Where ("name = ?" , "or_where_between_user_3" ).OrWhereNotBetween ("id" , user .ID , user2 .ID ).Find (& users ))
2959+ s .True (len (users ) >= 1 )
2960+ })
2961+ }
2962+ }
2963+
29122964func (s * QueryTestSuite ) TestWhereNull () {
29132965 for driver , query := range s .queries {
29142966 s .Run (driver .String (), func () {
0 commit comments