我正在使用codeigniter,我想从一个包含两列lab_id和service_id
的表中选择数据lab_id service_id 1 1 1 2 3 1
我只想选择lab_id" 1"其中包含1和2作为服务ID。 目前我正在使用以下代码,但没有工作。
<pre>
$this->db->select('lab_id');
$this->db->from('labs_services_mapping');
foreach ($data as $value) {
$this->db->where('service_id',$value['id']);
}
$this->db->group_by('lab_id');
$query = $this->db->get()->result();
</pre>
$ data是一个包含service_id
的数组答案 0 :(得分:0)
这应该可以解决问题
$this->db->select('lab_id');
$this->db->from('labs_services_mapping');
foreach ($data as $value) {
$this->db->or_where('service_id',$value['id']);
}
$this->db->group_by('lab_id');
$query = $this->db->get()->result();
您也可以尝试使用where_in
$this->db->select('lab_id');
$this->db->from('labs_services_mapping');
$this->db->where_in("service_id", $data);
$this->db->group_by('lab_id');
$query = $this->db->get()->result();
由于你想要一个静态的结果,你应该这样做
$this->db->select('lab_id');
$this->db->from('labs_services_mapping');
$this->db->where_in("service_id", [1,2]);
$this->db->group_by('lab_id');
$query = $this->db->get()->result();