Codeigniter 其中_not _in不按数组值作为参数返回匹配
试图获取Codeigniter 其中_not _in不按数组值作为参数返回匹配,codeigniter,Codeigniter,试图获取traineeeid其中$arrTID不在tbl\u考勤处理中但下面的我的代码返回所有traineeeid来自tbl\u考勤处理中 如果我使用where_in,那么查询将返回绝对结果,这些TraineeID是真正匹配的。只是当我使用where\u not\u in时没有返回适当的值 型号: public function getNotMatch_TID($arrTID,$atnDate){ $this->db->select('TraineeID');
traineeeid
其中$arrTID
不在tbl\u考勤处理中
但下面的我的代码返回所有traineeeid
来自tbl\u考勤处理中
如果我使用where_in
,那么查询将返回绝对结果,这些TraineeID
是真正匹配的。只是当我使用where\u not\u in
时没有返回适当的值
型号:
public function getNotMatch_TID($arrTID,$atnDate){
$this->db->select('TraineeID');
$this->db->where_not_in('TraineeID', $arrTID);
$this->db->where('attnDate', $atnDate);
$query = $this->db->get('tbl_attendance_processed');
return $query->result();
}
控制器:
$arrTID = $this->input->post('Present');
$atnDate = $this->input->post('attnDate');
$nonMatch= $this->AttendanceModel->getNotMatch_TID($arrTID,$atnDate);
print_r($nonMatch);
回显上次查询:
表架构:
CREATE TABLE `tbl_attendance_processed` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`TraineeID` varchar(7) CHARACTER SET utf8 NOT NULL,
`attnDate` date NOT NULL,
`inTime` time NOT NULL,
`outTime` time NOT NULL,
`Status` varchar(10) NOT NULL,
`ClassCount` tinyint(1) NOT NULL DEFAULT '1',
`Reason` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3186 DEFAULT CHARSET=latin1
$arrTID
应该是一个数组当然它是一个数组,当我在查询中使用where_in
时,查询返回此$arrTID
。打印您的查询echo$this->db->last_query()
并请留言,我为TraineeID字段添加了最后一个查询的数据类型?并直接在phpmyadmin中运行最后一个查询。