@@ -1108,6 +1108,35 @@ public function testOrderBys()
1108
1108
$ this ->assertEquals ([1 , 1 , 'news ' , 'opinion ' ], $ builder ->getBindings ());
1109
1109
}
1110
1110
1111
+ public function testReorder ()
1112
+ {
1113
+ $ builder = $ this ->getBuilder ();
1114
+ $ builder ->select ('* ' )->from ('users ' )->orderBy ('name ' );
1115
+ $ this ->assertSame ('select * from "users" order by "name" asc ' , $ builder ->toSql ());
1116
+ $ builder ->reorder ();
1117
+ $ this ->assertSame ('select * from "users" ' , $ builder ->toSql ());
1118
+
1119
+ $ builder = $ this ->getBuilder ();
1120
+ $ builder ->select ('* ' )->from ('users ' )->orderBy ('name ' );
1121
+ $ this ->assertSame ('select * from "users" order by "name" asc ' , $ builder ->toSql ());
1122
+ $ builder ->reorder ('email ' , 'desc ' );
1123
+ $ this ->assertSame ('select * from "users" order by "email" desc ' , $ builder ->toSql ());
1124
+
1125
+ $ builder = $ this ->getBuilder ();
1126
+ $ builder ->select ('* ' )->from ('first ' );
1127
+ $ builder ->union ($ this ->getBuilder ()->select ('* ' )->from ('second ' ));
1128
+ $ builder ->orderBy ('name ' );
1129
+ $ this ->assertSame ('(select * from "first") union (select * from "second") order by "name" asc ' , $ builder ->toSql ());
1130
+ $ builder ->reorder ();
1131
+ $ this ->assertSame ('(select * from "first") union (select * from "second") ' , $ builder ->toSql ());
1132
+
1133
+ $ builder = $ this ->getBuilder ();
1134
+ $ builder ->select ('* ' )->from ('users ' )->orderByRaw ('? ' , [true ]);
1135
+ $ this ->assertEquals ([true ], $ builder ->getBindings ());
1136
+ $ builder ->reorder ();
1137
+ $ this ->assertEquals ([], $ builder ->getBindings ());
1138
+ }
1139
+
1111
1140
public function testOrderBySubQueries ()
1112
1141
{
1113
1142
$ expected = 'select * from "users" order by (select "created_at" from "logins" where "user_id" = "users"."id" limit 1) ' ;
0 commit comments