Пример #1
0
 /**
  * @param string $entityClass
  * @param QueryBuilder $qb
  * @param string $fieldName
  * @return string
  */
 public function getFieldExpr($entityClass, QueryBuilder $qb, $fieldName)
 {
     if ($this->virtualFieldProvider->isVirtualField($entityClass, $fieldName)) {
         return $this->getVirtualFieldExpression($qb, $entityClass, $fieldName);
     }
     return sprintf('%s.%s', $this->getRootTableAlias($qb), $fieldName);
 }
Пример #2
0
 /**
  * Gets a field data type
  *
  * @param string $className
  * @param string $fieldName
  *
  * @return string
  */
 protected function getFieldType($className, $fieldName)
 {
     $result = null;
     if ($this->virtualFieldProvider->isVirtualField($className, $fieldName)) {
         // try to guess virtual column type
         $key = sprintf('%s::%s', $className, $fieldName);
         if (isset($this->virtualColumnOptions[$key]['return_type'])) {
             $result = $this->virtualColumnOptions[$key]['return_type'];
         }
     }
     return $result;
 }