Revision: 304
http://sourceforge.net/p/beeframework/code/304
Author: m_plomer
Date: 2015-03-12 22:31:33 +0000 (Thu, 12 Mar 2015)
Log Message:
-----------
- regression fix
Modified Paths:
--------------
trunk/framework/Bee/Persistence/Doctrine2/GenericDaoBase.php
Modified: trunk/framework/Bee/Persistence/Doctrine2/GenericDaoBase.php
===================================================================
--- trunk/framework/Bee/Persistence/Doctrine2/GenericDaoBase.php 2015-03-12 21:19:32 UTC (rev 303)
+++ trunk/framework/Bee/Persistence/Doctrine2/GenericDaoBase.php 2015-03-12 22:31:33 UTC (rev 304)
@@ -16,6 +16,12 @@
const FILTER_STRING = 'filterString';
const FILTER_STRING_FIELDS = 'filterStringFields';
+ const SCALAR_RESTRICTION_EQUAL = ' = ';
+ const SCALAR_RESTRICTION_LESS = ' < ';
+ const SCALAR_RESTRICTION_LESS_OR_EQUAL = ' <= ';
+ const SCALAR_RESTRICTION_GREATER = ' > ';
+ const SCALAR_RESTRICTION_GREATER_OR_EQUAL = ' >= ';
+
/**
* @var callable
*/
@@ -414,34 +420,17 @@
* @param array $filters
* @param string $fieldExpr
* @param string $filterKey
+ * @param string $comp
* @return QueryBuilder for chaining
*/
- protected final function addValueRestriction(QueryBuilder $queryBuilder, $filters, $fieldExpr, $filterKey = '') {
+ protected final function addScalarRestriction(QueryBuilder $queryBuilder, $filters, $fieldExpr, $filterKey = '', $comp = self::SCALAR_RESTRICTION_EQUAL) {
$filterKey = $filterKey ?: $fieldExpr;
if (array_key_exists($filterKey, $filters) && $value = $filters[$filterKey]) {
- $queryBuilder->andWhere($this->internalizeFieldExpression($fieldExpr, $queryBuilder) . ' = :val')->setParameter('val', $value);
+ $queryBuilder->andWhere($this->internalizeFieldExpression($fieldExpr, $queryBuilder) . $comp . ':val')->setParameter('val', $value);
}
return $queryBuilder;
}
- /**
- * @param QueryBuilder $queryBuilder
- * @param $filters
- * @param $fldExpr
- * @param bool $filterKeyFrom
- * @param bool $filterKeyUntil
- */
- protected function addDateRestriction(QueryBuilder $queryBuilder, $filters, $fldExpr, $filterKeyFrom = false, $filterKeyUntil = false) {
- $filterKeyFrom = $filterKeyFrom ?: $fldExpr . 'From';
- if (array_key_exists($filterKeyFrom, $filters) && $date = DateTimeHelper::parseDate($filters[$filterKeyFrom])) {
- $queryBuilder->andWhere($this->internalizeFieldExpression($fldExpr, $queryBuilder) . ' >= :dateFrom')->setParameter('dateFrom', $date);
- }
- $filterKeyUntil = $filterKeyUntil ?: $fldExpr . 'Until';
- if (array_key_exists($filterKeyUntil, $filters) && $date = DateTimeHelper::parseDate($filters[$filterKeyUntil])) {
- $queryBuilder->andWhere($this->internalizeFieldExpression($fldExpr, $queryBuilder) . ' <= :dateUntil')->setParameter('dateUntil', $date);
- }
- }
-
// =================================================================================================================
// == GETTERS & SETTERS ============================================================================================
// =================================================================================================================
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|