/** * {@inheritdoc} */ protected function getFieldType($className, $fieldName) { $result = parent::getFieldType($className, $fieldName); if (null === $result) { $result = $this->getClassMetadata($className)->getTypeOfField($fieldName); } return $result; }
/** * {@inheritdoc} */ public function getExpression($tableAlias, $fieldName, $columnName, $columnAlias, AbstractQueryConverter $qc) { // Make sure status table joined $opportunityStatusTableAlias = $qc->ensureChildTableJoined($tableAlias, 'status', 'left'); return sprintf("SUM(CASE WHEN (%s.name='won') THEN %s ELSE 0 END)", $opportunityStatusTableAlias, $columnName); }