是否可以获取变量的一部分并将其运行到where循环。
function rapport_detail_kosten($idKlant){
$this->db->from('Project');
$this->db->join('Kosten', 'Kosten.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;
}
$hoi = implode(",", $project);
print_r($hoi);
$this->db->select_sum('Prijs');
$this->db->from('Kosten');
$this->db->where('Kosten.idProject',$hoi);
$query = $this->db->get();
if($query->num_rows()>0){
return $query->result();
}
else{
return false;
}
}
$hoi
的值为:14,79,9,85,85,85,85,91,6
这些都是id,但我想只在id在这个变量中时才运行where语句。所以我想运行id = 6,但例如不是id=7
答案 0 :(得分:0)
你可以使用codeigniter的方法where_in
来搜索数组中的值,在这种情况下你可以直接使用$project
,你不需要$hoi
试试这个:
$sum = 0;
$this->db->select_sum('Prijs');
$this->db->from('Kosten');
$this->db->where_in('Kosten.idProject',$project);
$query = $this->db->get();
foreach ($query->result() as $row){
$sum = $row->Prijs;
}
return($sum);