@@ -656,6 +656,128 @@ public function testWhereLikePostgres()
656
656
$ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
657
657
}
658
658
659
+ public function testWhereLikeClausePostgres ()
660
+ {
661
+ $ builder = $ this ->getPostgresBuilder ();
662
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' );
663
+ $ this ->assertSame ('select * from "users" where "id"::text ilike ? ' , $ builder ->toSql ());
664
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
665
+
666
+ $ builder = $ this ->getPostgresBuilder ();
667
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' , false );
668
+ $ this ->assertSame ('select * from "users" where "id"::text ilike ? ' , $ builder ->toSql ());
669
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
670
+
671
+ $ builder = $ this ->getPostgresBuilder ();
672
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' , true );
673
+ $ this ->assertSame ('select * from "users" where "id"::text like ? ' , $ builder ->toSql ());
674
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
675
+
676
+ $ builder = $ this ->getPostgresBuilder ();
677
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' );
678
+ $ this ->assertSame ('select * from "users" where "id"::text not ilike ? ' , $ builder ->toSql ());
679
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
680
+
681
+ $ builder = $ this ->getPostgresBuilder ();
682
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' , false );
683
+ $ this ->assertSame ('select * from "users" where "id"::text not ilike ? ' , $ builder ->toSql ());
684
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
685
+
686
+ $ builder = $ this ->getPostgresBuilder ();
687
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' , true );
688
+ $ this ->assertSame ('select * from "users" where "id"::text not like ? ' , $ builder ->toSql ());
689
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
690
+ }
691
+
692
+ public function testWhereLikeClauseMysql ()
693
+ {
694
+ $ builder = $ this ->getMySqlBuilder ();
695
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' );
696
+ $ this ->assertSame ('select * from `users` where `id` like ? ' , $ builder ->toSql ());
697
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
698
+
699
+ $ builder = $ this ->getMySqlBuilder ();
700
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' , false );
701
+ $ this ->assertSame ('select * from `users` where `id` like ? ' , $ builder ->toSql ());
702
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
703
+
704
+ $ builder = $ this ->getMySqlBuilder ();
705
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' , true );
706
+ $ this ->assertSame ('select * from `users` where `id` like binary ? ' , $ builder ->toSql ());
707
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
708
+
709
+ $ builder = $ this ->getMySqlBuilder ();
710
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' );
711
+ $ this ->assertSame ('select * from `users` where `id` not like ? ' , $ builder ->toSql ());
712
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
713
+
714
+ $ builder = $ this ->getMySqlBuilder ();
715
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' , false );
716
+ $ this ->assertSame ('select * from `users` where `id` not like ? ' , $ builder ->toSql ());
717
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
718
+
719
+ $ builder = $ this ->getMySqlBuilder ();
720
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' , true );
721
+ $ this ->assertSame ('select * from `users` where `id` not like binary ? ' , $ builder ->toSql ());
722
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
723
+ }
724
+
725
+ public function testWhereLikeClauseSqlite ()
726
+ {
727
+ $ builder = $ this ->getSQLiteBuilder ();
728
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' );
729
+ $ this ->assertSame ('select * from "users" where "id" like ? ' , $ builder ->toSql ());
730
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
731
+
732
+ $ builder = $ this ->getSQLiteBuilder ();
733
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' , true );
734
+ $ this ->assertSame ('select * from "users" where "id" glob ? ' , $ builder ->toSql ());
735
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
736
+
737
+ $ builder = $ this ->getSQLiteBuilder ();
738
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('description ' , 'Hell* _orld?% ' , true );
739
+ $ this ->assertSame ('select * from "users" where "description" glob ? ' , $ builder ->toSql ());
740
+ $ this ->assertEquals ([0 => 'Hell[*] ?orld[?]* ' ], $ builder ->getBindings ());
741
+
742
+ $ builder = $ this ->getSQLiteBuilder ();
743
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' );
744
+ $ this ->assertSame ('select * from "users" where "id" not like ? ' , $ builder ->toSql ());
745
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
746
+
747
+ $ builder = $ this ->getSQLiteBuilder ();
748
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('description ' , 'Hell* _orld?% ' , true );
749
+ $ this ->assertSame ('select * from "users" where "description" not glob ? ' , $ builder ->toSql ());
750
+ $ this ->assertEquals ([0 => 'Hell[*] ?orld[?]* ' ], $ builder ->getBindings ());
751
+
752
+ $ builder = $ this ->getSQLiteBuilder ();
753
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('name ' , 'John% ' , true )->whereNotLike ('name ' , '%Doe% ' , true );
754
+ $ this ->assertSame ('select * from "users" where "name" glob ? and "name" not glob ? ' , $ builder ->toSql ());
755
+ $ this ->assertEquals ([0 => 'John* ' , 1 => '*Doe* ' ], $ builder ->getBindings ());
756
+
757
+ $ builder = $ this ->getSQLiteBuilder ();
758
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('name ' , 'John% ' )->orWhereLike ('name ' , 'Jane% ' , true );
759
+ $ this ->assertSame ('select * from "users" where "name" like ? or "name" glob ? ' , $ builder ->toSql ());
760
+ $ this ->assertEquals ([0 => 'John% ' , 1 => 'Jane* ' ], $ builder ->getBindings ());
761
+ }
762
+
763
+ public function testWhereLikeClauseSqlServer ()
764
+ {
765
+ $ builder = $ this ->getSqlServerBuilder ();
766
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' );
767
+ $ this ->assertSame ('select * from [users] where [id] like ? ' , $ builder ->toSql ());
768
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
769
+
770
+ $ builder = $ this ->getSqlServerBuilder ();
771
+ $ builder ->select ('* ' )->from ('users ' )->whereLike ('id ' , '1 ' )->orWhereLike ('id ' , '2 ' );
772
+ $ this ->assertSame ('select * from [users] where [id] like ? or [id] like ? ' , $ builder ->toSql ());
773
+ $ this ->assertEquals ([0 => '1 ' , 1 => '2 ' ], $ builder ->getBindings ());
774
+
775
+ $ builder = $ this ->getSqlServerBuilder ();
776
+ $ builder ->select ('* ' )->from ('users ' )->whereNotLike ('id ' , '1 ' );
777
+ $ this ->assertSame ('select * from [users] where [id] not like ? ' , $ builder ->toSql ());
778
+ $ this ->assertEquals ([0 => '1 ' ], $ builder ->getBindings ());
779
+ }
780
+
659
781
public function testWhereDateSqlite ()
660
782
{
661
783
$ builder = $ this ->getSQLiteBuilder ();
0 commit comments