@@ -58,21 +58,22 @@ public static function generateQueryCacheKey(Model $model, Request $request, arr
5858 $ table = $ model ->getTable ();
5959 $ companyUuid = static ::getCompanyUuid ($ request );
6060
61- // Get all relevant query parameters
62- $ params = [
63- 'limit ' => $ request ->input ('limit ' ),
64- 'offset ' => $ request ->input ('offset ' ),
65- 'page ' => $ request ->input ('page ' ),
66- 'sort ' => $ request ->input ('sort ' ),
67- 'order ' => $ request ->input ('order ' ),
68- 'query ' => $ request ->input ('query ' ),
69- 'search ' => $ request ->input ('search ' ),
70- 'filter ' => $ request ->input ('filter ' ),
71- 'with ' => $ request ->input ('with ' ),
72- 'expand ' => $ request ->input ('expand ' ),
73- 'columns ' => $ request ->input ('columns ' ),
61+ // Get ALL query parameters from the request
62+ // This ensures different filters (e.g., type=customer vs type=contact) generate different cache keys
63+ $ params = $ request ->query ();
64+
65+ // Remove internal/non-cacheable parameters that shouldn't affect cache key
66+ $ excludedParams = [
67+ '_ ' , // Cache-busting timestamp
68+ 'timestamp ' , // Cache-busting timestamp
69+ 'nocache ' , // Explicit cache bypass
70+ '_method ' , // Laravel method override
7471 ];
7572
73+ foreach ($ excludedParams as $ excluded ) {
74+ unset($ params [$ excluded ]);
75+ }
76+
7677 // Merge additional parameters
7778 $ params = array_merge ($ params , $ additionalParams );
7879
0 commit comments