public function get($project_id) { $taskModel = new \Model\Task(); $this->db->startTransaction(); $columns = $this->getColumns($project_id); foreach ($columns as &$column) { $column['tasks'] = $taskModel->getAllByColumnId($project_id, $column['id'], array(1)); } $this->db->closeTransaction(); return $columns; }
public function getAll($fetch_stats = false) { if (!$fetch_stats) { return $this->db->table(self::TABLE)->asc('name')->findAll(); } $this->db->startTransaction(); $projects = $this->db->table(self::TABLE)->asc('name')->findAll(); $taskModel = new \Model\Task(); $boardModel = new \Model\Board(); foreach ($projects as &$project) { $columns = $boardModel->getcolumns($project['id']); $project['nb_active_tasks'] = 0; foreach ($columns as &$column) { $column['nb_active_tasks'] = $taskModel->countByColumnId($project['id'], $column['id']); $project['nb_active_tasks'] += $column['nb_active_tasks']; } $project['columns'] = $columns; $project['nb_tasks'] = $taskModel->countByProjectId($project['id']); $project['nb_inactive_tasks'] = $project['nb_tasks'] - $project['nb_active_tasks']; } $this->db->closeTransaction(); return $projects; }