@@ -1189,6 +1189,94 @@ public function testOrWhereNotBetweenColumns()
1189
1189
$ this ->assertEquals ([0 => 2 ], $ builder ->getBindings ());
1190
1190
}
1191
1191
1192
+ public function testWhereValueBetween ()
1193
+ {
1194
+ $ builder = $ this ->getBuilder ();
1195
+ $ builder ->select ('* ' )->from ('users ' )->whereValueBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1196
+ $ this ->assertSame ('select * from "users" where ? between "created_at" and "updated_at" ' , $ builder ->toSql ());
1197
+ $ this ->assertEquals ([0 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1198
+
1199
+ $ builder = $ this ->getBuilder ();
1200
+ $ builder ->select ('* ' )->from ('users ' )->whereValueBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1201
+ $ this ->assertSame ('select * from "users" where ? between "created_at" and "updated_at" ' , $ builder ->toSql ());
1202
+ $ this ->assertEquals ([0 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1203
+
1204
+ $ builder = $ this ->getBuilder ();
1205
+ $ builder ->select ('* ' )->from ('users ' )->whereValueBetween ('2020-01-01 19:30:00 ' , [new Raw (1 ), new Raw (2 )]);
1206
+ $ this ->assertSame ('select * from "users" where ? between 1 and 2 ' , $ builder ->toSql ());
1207
+ $ this ->assertEquals ([0 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1208
+
1209
+ $ builder = $ this ->getBuilder ();
1210
+ $ builder ->select ('* ' )->from ('users ' )->whereValueBetween (new Raw (1 ), ['created_at ' , 'updated_at ' ]);
1211
+ $ this ->assertSame ('select * from "users" where 1 between "created_at" and "updated_at" ' , $ builder ->toSql ());
1212
+ }
1213
+
1214
+ public function testOrWhereValueBetween ()
1215
+ {
1216
+ $ builder = $ this ->getBuilder ();
1217
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1218
+ $ this ->assertSame ('select * from "users" where "id" = ? or ? between "created_at" and "updated_at" ' , $ builder ->toSql ());
1219
+ $ this ->assertEquals ([0 => 2 , 1 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1220
+
1221
+ $ builder = $ this ->getBuilder ();
1222
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1223
+ $ this ->assertSame ('select * from "users" where "id" = ? or ? between "created_at" and "updated_at" ' , $ builder ->toSql ());
1224
+ $ this ->assertEquals ([0 => 2 , 1 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1225
+
1226
+ $ builder = $ this ->getBuilder ();
1227
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueBetween ('2020-01-01 19:30:00 ' , [new Raw (1 ), new Raw (2 )]);
1228
+ $ this ->assertSame ('select * from "users" where "id" = ? or ? between 1 and 2 ' , $ builder ->toSql ());
1229
+ $ this ->assertEquals ([0 => 2 , 1 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1230
+
1231
+ $ builder = $ this ->getBuilder ();
1232
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueBetween (new Raw (1 ), ['created_at ' , 'updated_at ' ]);
1233
+ $ this ->assertSame ('select * from "users" where "id" = ? or 1 between "created_at" and "updated_at" ' , $ builder ->toSql ());
1234
+ }
1235
+
1236
+ public function testWhereValueNotBetween ()
1237
+ {
1238
+ $ builder = $ this ->getBuilder ();
1239
+ $ builder ->select ('* ' )->from ('users ' )->whereValueNotBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1240
+ $ this ->assertSame ('select * from "users" where ? not between "created_at" and "updated_at" ' , $ builder ->toSql ());
1241
+ $ this ->assertEquals ([0 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1242
+
1243
+ $ builder = $ this ->getBuilder ();
1244
+ $ builder ->select ('* ' )->from ('users ' )->whereValueNotBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1245
+ $ this ->assertSame ('select * from "users" where ? not between "created_at" and "updated_at" ' , $ builder ->toSql ());
1246
+ $ this ->assertEquals ([0 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1247
+
1248
+ $ builder = $ this ->getBuilder ();
1249
+ $ builder ->select ('* ' )->from ('users ' )->whereValueNotBetween ('2020-01-01 19:30:00 ' , [new Raw (1 ), new Raw (2 )]);
1250
+ $ this ->assertSame ('select * from "users" where ? not between 1 and 2 ' , $ builder ->toSql ());
1251
+ $ this ->assertEquals ([0 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1252
+
1253
+ $ builder = $ this ->getBuilder ();
1254
+ $ builder ->select ('* ' )->from ('users ' )->whereValueNotBetween (new Raw (1 ), ['created_at ' , 'updated_at ' ]);
1255
+ $ this ->assertSame ('select * from "users" where 1 not between "created_at" and "updated_at" ' , $ builder ->toSql ());
1256
+ }
1257
+
1258
+ public function testOrWhereValueNotBetween ()
1259
+ {
1260
+ $ builder = $ this ->getBuilder ();
1261
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueNotBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1262
+ $ this ->assertSame ('select * from "users" where "id" = ? or ? not between "created_at" and "updated_at" ' , $ builder ->toSql ());
1263
+ $ this ->assertEquals ([0 => 2 , 1 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1264
+
1265
+ $ builder = $ this ->getBuilder ();
1266
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueNotBetween ('2020-01-01 19:30:00 ' , ['created_at ' , 'updated_at ' ]);
1267
+ $ this ->assertSame ('select * from "users" where "id" = ? or ? not between "created_at" and "updated_at" ' , $ builder ->toSql ());
1268
+ $ this ->assertEquals ([0 => 2 , 1 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1269
+
1270
+ $ builder = $ this ->getBuilder ();
1271
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueNotBetween ('2020-01-01 19:30:00 ' , [new Raw (1 ), new Raw (2 )]);
1272
+ $ this ->assertSame ('select * from "users" where "id" = ? or ? not between 1 and 2 ' , $ builder ->toSql ());
1273
+ $ this ->assertEquals ([0 => 2 , 1 => '2020-01-01 19:30:00 ' ], $ builder ->getBindings ());
1274
+
1275
+ $ builder = $ this ->getBuilder ();
1276
+ $ builder ->select ('* ' )->from ('users ' )->where ('id ' , 2 )->orWhereValueNotBetween (new Raw (1 ), ['created_at ' , 'updated_at ' ]);
1277
+ $ this ->assertSame ('select * from "users" where "id" = ? or 1 not between "created_at" and "updated_at" ' , $ builder ->toSql ());
1278
+ }
1279
+
1192
1280
public function testBasicOrWheres ()
1193
1281
{
1194
1282
$ builder = $ this ->getBuilder ();
0 commit comments