コード例 #1
0
 /**
  * @param FilterDatasourceAdapterInterface $ds
  * @param string $fieldName
  * @param mixed $valueStart
  * @param mixed $valueEnd
  * @return string
  */
 protected function buildNotBetweenExpr(FilterDatasourceAdapterInterface $ds, $fieldName, $valueStart, $valueEnd)
 {
     $parameterStart = $ds->generateParameterName($this->getName());
     $parameterEnd = $ds->generateParameterName($this->getName());
     if ($valueStart && $valueEnd) {
         $ds->setParameter($parameterStart, $valueStart);
         $ds->setParameter($parameterEnd, $valueEnd);
         return $ds->expr()->orX($ds->expr()->lt($fieldName, $parameterStart, true), $ds->expr()->gt($fieldName, $parameterEnd, true));
     } elseif ($valueStart) {
         $ds->setParameter($parameterStart, $valueStart);
         return $ds->expr()->lt($fieldName, $parameterStart, true);
     } else {
         $ds->setParameter($parameterEnd, $valueEnd);
         return $ds->expr()->gt($fieldName, $parameterEnd, true);
     }
 }