1

I am doing my first project using Codeigniter 4. I am trying to make a summary page which consist of some sum from different columns and different tables.

Here is the tables :

table project

id project_name 1 project 1 2 project 2

id project_name
1 project 1
2 project 2

table leading

id id_project permit job
1 1 2 2
2 1 2 2
3 2 1 1

table man_hours

id id_project branch base sum_manhours
1 1 1 2 3
2 1 1 2 3
3 2 1 1 2

I've tried this :

ProjectModel :

    public function getSummary()
    {

        $this->join('leading', 'leading.id_project=project.id', 'LEFT');
        $this->join('man_hours', 'man_hours.id_project=project.id', 'LEFT');
        $this->select('sum(permit) as permit, sum(job) as job');
        $this->select('sum(sum_manhours) as sum_manhours');
        $this->select('project.id, project.project_name');
        $this->groupBy('project.id');
        $result = $this->findAll();

        return $result;
    }

Controller Project :

public function manhours(){
        $data = [
            'title' => 'Summary',
            'project' => $this->projectModel->getSummary()
        ];

        return view('summary/view-summary-manhours', $data);
}

The results :

id project name permit job sum_manhours
1 project 1 8 8 12
2 project 2 1 1 2

It seems like the query working twice that's why is giving the wrong results, how do I fix this? I am really looking forward for the solution, thank you so much for reading my question, even more for giving me solution.

0 Answers0