Php 返回SQL查询中忽略设置年份限制的所有数据
我编写了以下查询以返回员工已休的所有假期 它应该做的是返回当前年度的值,而忽略其余的值 它所做的是返回表中的所有值,包括与前几年相关的值Php 返回SQL查询中忽略设置年份限制的所有数据,php,mysql,sqlbuilder,Php,Mysql,Sqlbuilder,我编写了以下查询以返回员工已休的所有假期 它应该做的是返回当前年度的值,而忽略其余的值 它所做的是返回表中的所有值,包括与前几年相关的值 $sqlBuilder = new SQLQBuilder(); $arrFields[0] = '`leave_date`'; $arrFields[1] = '`leave_status`'; $arrTable = "`leave_table`"; $selectConditions[1] = "`employee_
$sqlBuilder = new SQLQBuilder();
$arrFields[0] = '`leave_date`';
$arrFields[1] = '`leave_status`';
$arrTable = "`leave_table`";
$selectConditions[1] = "`employee_id` = '".$employeeId."'";
$selectConditions[2] = "`leave_date` >= '".date('Y')."-01-01'";
$query = $sqlBuilder->simpleSelect($arrTable, $arrFields, $selectConditions, $arrFields[0], 'ASC');
$dbConnection = new DMLFunctions();
$result = $dbConnection -> executeQuery($query);
$leaveArr = $this->_buildObjArr($result);
return $leaveArr;
有人知道我做错了什么吗?用这个
where
leave_date>=current_date()-interval dayofyear(current_date())-1 day and
leave_date<current_date()-interval dayofyear(current_date())-1 day+interval 1 year
在哪里
休假日期>=当前日期()-每年的间隔日(当前日期())-1天和
离开日期这很简单
$selectConditions[2] = "year(`leave_date`) = year(now())";
若有休假日,则不得使用索引。这不会导致任何更改。我一直收到前一年的请假。请假日期字段的类型是什么?应该可以,但我建议您检查simpleSelect方法,如果它在第三个参数中使用数组并正确处理它。划掉此查询并使用您的方法进行MySQL查询。工作!谢谢!:)