@@ -1185,6 +1185,68 @@ public function testWhereFulltextPostgres()
1185
1185
$ this ->assertEquals (['Car Plane ' ], $ builder ->getBindings ());
1186
1186
}
1187
1187
1188
+ public function testWhereAll ()
1189
+ {
1190
+ $ builder = $ this ->getBuilder ();
1191
+ $ builder ->select ('* ' )->from ('users ' )->whereAll (['last_name ' , 'email ' ], '%Otwell% ' );
1192
+ $ this ->assertSame ('select * from "users" where ("last_name" = ? and "email" = ?) ' , $ builder ->toSql ());
1193
+ $ this ->assertEquals (['%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1194
+
1195
+ $ builder = $ this ->getBuilder ();
1196
+ $ builder ->select ('* ' )->from ('users ' )->whereAll (['last_name ' , 'email ' ], 'not like ' , '%Otwell% ' );
1197
+ $ this ->assertSame ('select * from "users" where ("last_name" not like ? and "email" not like ?) ' , $ builder ->toSql ());
1198
+ $ this ->assertEquals (['%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1199
+ }
1200
+
1201
+ public function testOrWhereAll ()
1202
+ {
1203
+ $ builder = $ this ->getBuilder ();
1204
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->orWhereAll (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' );
1205
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or ("last_name" like ? and "email" like ?) ' , $ builder ->toSql ());
1206
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1207
+
1208
+ $ builder = $ this ->getBuilder ();
1209
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->whereAll (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' , 'or ' );
1210
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or ("last_name" like ? and "email" like ?) ' , $ builder ->toSql ());
1211
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1212
+
1213
+ $ builder = $ this ->getBuilder ();
1214
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->orWhereAll (['last_name ' , 'email ' ], '%Otwell% ' );
1215
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or ("last_name" = ? and "email" = ?) ' , $ builder ->toSql ());
1216
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1217
+ }
1218
+
1219
+ public function testWhereAny ()
1220
+ {
1221
+ $ builder = $ this ->getBuilder ();
1222
+ $ builder ->select ('* ' )->from ('users ' )->whereAny (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' );
1223
+ $ this ->assertSame ('select * from "users" where ("last_name" like ? or "email" like ?) ' , $ builder ->toSql ());
1224
+ $ this ->assertEquals (['%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1225
+
1226
+ $ builder = $ this ->getBuilder ();
1227
+ $ builder ->select ('* ' )->from ('users ' )->whereAny (['last_name ' , 'email ' ], '%Otwell% ' );
1228
+ $ this ->assertSame ('select * from "users" where ("last_name" = ? or "email" = ?) ' , $ builder ->toSql ());
1229
+ $ this ->assertEquals (['%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1230
+ }
1231
+
1232
+ public function testOrWhereAny ()
1233
+ {
1234
+ $ builder = $ this ->getBuilder ();
1235
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->orWhereAny (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' );
1236
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or ("last_name" like ? or "email" like ?) ' , $ builder ->toSql ());
1237
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1238
+
1239
+ $ builder = $ this ->getBuilder ();
1240
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->whereAny (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' , 'or ' );
1241
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or ("last_name" like ? or "email" like ?) ' , $ builder ->toSql ());
1242
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1243
+
1244
+ $ builder = $ this ->getBuilder ();
1245
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->orWhereAny (['last_name ' , 'email ' ], '%Otwell% ' );
1246
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or ("last_name" = ? or "email" = ?) ' , $ builder ->toSql ());
1247
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1248
+ }
1249
+
1188
1250
public function testUnions ()
1189
1251
{
1190
1252
$ builder = $ this ->getBuilder ();
0 commit comments