Exemple #1
0
 /**
  * Assign calculated field
  *
  * @param \XLite\Model\QueryBuilder\AQueryBuilder $queryBuilder Query builder
  * @param string                                  $name         Field name
  *
  * @return \XLite\Model\QueryBuilder\AQueryBuilder
  */
 protected function assignCalculatedField(\XLite\Model\QueryBuilder\AQueryBuilder $queryBuilder, $name)
 {
     $uname = ucfirst($name);
     $method = 'defineCalculated' . $uname . 'DQL';
     if (method_exists($this, $method) && !$queryBuilder->getFlag('calculated.' . $name)) {
         $alias = $alias ?: $queryBuilder->getRootAlias();
         $queryBuilder->addSelect($this->{$method}($queryBuilder, $alias) . ' calculated' . $uname);
         $queryBuilder->setFlag('calculated.' . $name, true);
     }
     return $queryBuilder;
 }