@@ -34,8 +34,21 @@ function filter($data, Request $req): array {
3434 /** Sort Order Query Params */
3535 $ order ??= 'asc ' ; // asc or desc
3636
37+ // Selected Column Fetch All Data
38+ if ($ filter ):
39+ $ filter = explode (", " , $ filter );
40+
41+ foreach ($ data as $ item )
42+ array_push ($ filterData , array_intersect_key ((array ) $ item , array_flip ($ filter )));
43+ endif ;
44+
3745 // Search All Column Fetch All Data
3846 if ($ search ):
47+ if ($ filter )
48+ $ data = $ filterData ;
49+
50+ $ filterData = [];
51+
3952 foreach ($ data as $ item ):
4053 $ isSearch = false ;
4154
@@ -57,20 +70,7 @@ function filter($data, Request $req): array {
5770 $ filterData = empty ($ filterData ) ? $ data : $ filterData ;
5871
5972 usort ($ filterData , fn ($ a , $ b ) =>
60- $ order == 'asc ' ? $ a ->$ sort > $ b ->$ sort : $ a ->$ sort < $ b ->$ sort );
61- endif ;
62-
63- // Selected Column Fetch All Data
64- if ($ filter ):
65- $ filter = explode (", " , $ filter );
66-
67- if ($ search || $ sort )
68- $ data = $ filterData ;
69-
70- $ filterData = [];
71-
72- foreach ($ data as $ item )
73- array_push ($ filterData , array_intersect_key ((array ) $ item , array_flip ($ filter )));
73+ $ order == 'asc ' ? ((object ) $ a )->$ sort > ((object ) $ b )->$ sort : ((object ) $ a )->$ sort < ((object ) $ b )->$ sort );
7474 endif ;
7575
7676 // According Pagination Fetch All Data
0 commit comments