我编写了以下查询以返回员工已经采取的所有叶子。
它应该做什么是返回当前年份的值而忽略其余的值。
它正在做什么是它返回表中的所有值,包括与前几年有关的值。
$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;
有谁能弄清楚我在这里做错了什么?
答案 0 :(得分:2)
这很简单
$selectConditions[2] = "year(`leave_date`) = year(now())";
答案 1 :(得分:0)
使用此
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