/** * Creates filter query from filter value and settings * * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier * @return Tx_PtExtlist_Domain_QueryObject_Criteria Criteria for current filter value (null, if empty) */ protected function buildFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier) { $timestampBoundaries = $this->getCalculatedTimestampBoundaries(); $fieldName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldIdentifier); $criteria1 = Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldName, $timestampBoundaries['filterValueFromTimestamp']); $criteria2 = Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldName, $timestampBoundaries['filterValueToTimestamp']); $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp($criteria1, $criteria2); return $criteria; }
/** * (non-PHPdoc) * @see Classes/Domain/Model/Filter/Tx_PtExtlist_Domain_Model_Filter_AbstractFilter::buildFilterCriteria() */ protected function buildFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldIdentifier) { $criteria = null; if ($this->isActive) { $columnName = $fieldIdentifier->getTableFieldCombined(); $filterValue = intval($this->filterValue); $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($columnName, $filterValue); } return $criteria; }
/** * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldStart * @param Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldEnd * @return Tx_PtExtlist_Domain_QueryObject_Criteria * * TODO: Optimize this for a 1-field query */ protected function buildTimeSpanFilterCriteria(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldStart, Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig $fieldEnd) { $fieldStartName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldStart); $fieldEndName = Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfig($fieldEnd); $startValueCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp(Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldStartName, $this->getFilterValueStartInDBFormat()), Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldEndName, $this->getFilterValueStartInDBFormat())); $endValueCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp(Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldStartName, $this->getFilterValueEndInDBFormat()), Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldEndName, $this->getFilterValueEndInDBFormat())); $betweenValuesCriteria = Tx_PtExtlist_Domain_QueryObject_Criteria::andOp(Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals($fieldStartName, $this->getFilterValueStartInDBFormat()), Tx_PtExtlist_Domain_QueryObject_Criteria::lessThanEquals($fieldEndName, $this->getFilterValueEndInDBFormat())); $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::orOp(Tx_PtExtlist_Domain_QueryObject_Criteria::orOp($startValueCriteria, $endValueCriteria), $betweenValuesCriteria); return $criteria; }
public function testGreaterThanEquals() { $criteria = Tx_PtExtlist_Domain_QueryObject_Criteria::greaterThanEquals('test', 5); $this->assertTrue(is_a($criteria, 'Tx_PtExtlist_Domain_QueryObject_SimpleCriteria')); }