public function getData($filters, $sort, $dir, $offset, $limit, $fields = null, $drillDownFilters = null)
{
$db = Db::get();
$baseQuery = $this->getBaseQuery($filters, $fields, false, $drillDownFilters);
if ($baseQuery) {
$total = $db->fetchOne($baseQuery["count"]);
$order = "";
if ($sort && $dir) {
$order = " ORDER BY " . $db->quoteIdentifier($sort) . " " . $dir;
}
$sql = $baseQuery["data"] . $order;
if ($offset !== null && $limit) {
$sql .= " LIMIT {$offset},{$limit}";
}
$data = $db->fetchAll($sql);
}
return ["data" => $data, "total" => $total];
}