@@ -1376,6 +1376,42 @@ public function testOrWhereAny()
1376
1376
$ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1377
1377
}
1378
1378
1379
+ public function testWhereNone ()
1380
+ {
1381
+ $ builder = $ this ->getBuilder ();
1382
+ $ builder ->select ('* ' )->from ('users ' )->whereNone (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' );
1383
+ $ this ->assertSame ('select * from "users" where not ("last_name" like ? or "email" like ?) ' , $ builder ->toSql ());
1384
+ $ this ->assertEquals (['%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1385
+
1386
+ $ builder = $ this ->getBuilder ();
1387
+ $ builder ->select ('* ' )->from ('users ' )->whereNone (['last_name ' , 'email ' ], '%Otwell% ' );
1388
+ $ this ->assertSame ('select * from "users" where not ("last_name" = ? or "email" = ?) ' , $ builder ->toSql ());
1389
+ $ this ->assertEquals (['%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1390
+
1391
+ $ builder = $ this ->getBuilder ();
1392
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->whereNone (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' );
1393
+ $ this ->assertSame ('select * from "users" where "first_name" like ? and not ("last_name" like ? or "email" like ?) ' , $ builder ->toSql ());
1394
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1395
+ }
1396
+
1397
+ public function testOrWhereNone ()
1398
+ {
1399
+ $ builder = $ this ->getBuilder ();
1400
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->orWhereNone (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' );
1401
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or not ("last_name" like ? or "email" like ?) ' , $ builder ->toSql ());
1402
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1403
+
1404
+ $ builder = $ this ->getBuilder ();
1405
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->whereNone (['last_name ' , 'email ' ], 'like ' , '%Otwell% ' , 'or ' );
1406
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or not ("last_name" like ? or "email" like ?) ' , $ builder ->toSql ());
1407
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1408
+
1409
+ $ builder = $ this ->getBuilder ();
1410
+ $ builder ->select ('* ' )->from ('users ' )->where ('first_name ' , 'like ' , '%Taylor% ' )->orWhereNone (['last_name ' , 'email ' ], '%Otwell% ' );
1411
+ $ this ->assertSame ('select * from "users" where "first_name" like ? or not ("last_name" = ? or "email" = ?) ' , $ builder ->toSql ());
1412
+ $ this ->assertEquals (['%Taylor% ' , '%Otwell% ' , '%Otwell% ' ], $ builder ->getBindings ());
1413
+ }
1414
+
1379
1415
public function testUnions ()
1380
1416
{
1381
1417
$ builder = $ this ->getBuilder ();
0 commit comments