table}$whereClause"; $totalCount = $this->db->fetchColumn($countQuery, $params); $offset = ($page - 1) * $limit; // Get data with pagination $query = " SELECT * FROM {$this->table} $whereClause ORDER BY name ASC LIMIT ? OFFSET ? "; $queryParams = array_merge($params, [$limit, $offset]); $customers = $this->db->fetchAll($query, $queryParams); return [ 'customers' => $customers, 'pagination' => [ 'total' => $totalCount, 'page' => $page, 'limit' => $limit, 'pages' => ceil($totalCount / $limit) ] ]; } }