db->table(TaskModel::TABLE) ->columns('SUM(time_estimated) AS hours_estimated', 'SUM(time_spent) AS hours_spent', 'column_id') ->eq('project_id', $project_id) ->groupBy('column_id') ->findAll(); $columns = $this->columnModel->getList($project_id); $metrics = []; foreach ($columns as $column_id => $column_title) { $metrics[$column_id] = array( 'hours_spent' => 0, 'hours_estimated' => 0, 'title' => $column_title, ); } foreach ($rows as $row) { $metrics[$row['column_id']]['hours_spent'] = (float) $row['hours_spent']; $metrics[$row['column_id']]['hours_estimated'] = (float) $row['hours_estimated']; } return $metrics; } }