如何在Codeigniter的where子句中使用数组

Mir*_*Ali 0 codeigniter

我正在使用codeigniter,尝试在where子句中使用数组,并且仅返回与该数组匹配的id。

提交表格:

$arrTID = $this->input->post('Present'); print_r($arrTID);

输出:

Array(
 [0]=>FMM003
 [1]=>30089
 [2]=>30097
)
Run Code Online (Sandbox Code Playgroud)

在foreach中使用时:

foreach($arrTID as $key=>$ID){               
 print_r($ID);
}
Run Code Online (Sandbox Code Playgroud)

输出:FMM0033008930097

查询:

$query = $this->db->query("select TraineeID from tbl_attendance_processed where TraineeID IN $ID and attnDate='$atnDate'");
$res=$query->result_array();
Run Code Online (Sandbox Code Playgroud)

我实际上需要该查询返回与该查询匹配的数组中的ID。怎么得到这个?

小智 5

$arrTID = $this->input->post('Present');
$atnDate = $this->input->post('atnDate');

$this->db->select('TraineeID');
$this->db->where_in('TraineeID', $arrTID);
$this->db->where('attnDate', $atnDate);
$query = $this->db->get('tbl_attendance_processed');

// and fetch result
$res = $query->result(); // as object
$res = $query->result_array(); // as array
Run Code Online (Sandbox Code Playgroud)

并了解此http://www.codeigniter.com/userguide2/database/active_record.html