我希望在select_sum语句之前有一个where in语句。因为我想根据$项目获得不同的金额。现在,它只是将所有数组变量计算为一个和。
我在代码点火器中这样做。
型号:
function rapport_detail_opbrengsten($idKlant){
$this->db->from('Project');
$this->db->join('Opbrengsten', 'Opbrengsten.idProject = Project.idProject');
if ($idKlant > 0){
$this->db->where('idKlant', $idKlant);}
$query = $this->db->get();
$project = array();
foreach($query->result() as $row){
$project[] = $row->idProject;
}
$this->db->select_sum('Prijs');
$this->db->from('Opbrengsten');
$this->db->where_in('idProject', $project);
$query = $this->db->get();
if($query->num_rows()>0){
return $query->result();
}
else{
return false;
}
}
select_sum
对所有行进行分组。。因此,如果按照其他条件手动对行进行分组,则不会有任何效果。试试这个
$this->db->select('idProject, SUM(Prijs) as total');
$this->db->from('Opbrengsten');
$this->db->where_in('idProject', $project);
$this->db->group_by('idProject');
$query = $this->db->get();