diff --git a/modules/anagrafiche/src/API/v1/Anagrafiche.php b/modules/anagrafiche/src/API/v1/Anagrafiche.php index e21005b50..0a0f954cb 100755 --- a/modules/anagrafiche/src/API/v1/Anagrafiche.php +++ b/modules/anagrafiche/src/API/v1/Anagrafiche.php @@ -56,9 +56,7 @@ class Anagrafiche extends Resource implements RetrieveInterface, CreateInterface 'an_anagrafiche.note', 'an_anagrafiche.idzona', 'an_anagrafiche.deleted_at' - )->skip($request['page'] * $request['length']) - ->limit($request['length']) - ->orderBy('an_anagrafiche.ragione_sociale'); + )->orderBy('an_anagrafiche.ragione_sociale'); $filters = []; if ($request['resource'] != 'anagrafiche') { @@ -70,6 +68,7 @@ class Anagrafiche extends Resource implements RetrieveInterface, CreateInterface // Filtri da richiesta API $allow_list = [ 'idanagrafica', + 'ragione_sociale', ]; $conditions = array_intersect_key((array) $request['where'], array_flip($allow_list)); @@ -78,6 +77,11 @@ class Anagrafiche extends Resource implements RetrieveInterface, CreateInterface $query = $query->whereIn('an_anagrafiche.idanagrafica', (array) $conditions['idanagrafica']); } + // Filtro per Ragione sociale + if (!empty($conditions['ragione_sociale'])) { + $query = $query->where('an_anagrafiche.ragione_sociale','like', '%'.$conditions['ragione_sociale'].'%'); + } + // Filtri aggiuntivi predefiniti $module = Modules::get('Anagrafiche'); $additionals = Modules::getAdditionals($module->id, false); @@ -90,7 +94,10 @@ class Anagrafiche extends Resource implements RetrieveInterface, CreateInterface } return [ - 'results' => $query->get()->toArray(), + 'results' => $query->skip($request['page'] * $request['length']) + ->limit($request['length']) + ->get()->toArray(), + 'total-count' => $query->count(), ]; }