Skip to content

Commit 0dbc939

Browse files
fix: search after filter entity
1 parent 5b109b9 commit 0dbc939

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/filter.php

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)