/** * Gets a collection of objects related by aggregate or composite relations. * * {@inheritdoc} * * Includes special handling for related objects with alias {@link * modTemplateVar}, respecting framework security unless specific criteria * are provided. */ public function &getMany($alias, $criteria = null, $cacheFlag = true) { $collection = array(); if (($alias === 'TemplateVars' || $alias === 'modTemplateVar') && ($criteria === null || strtolower($criteria) === 'all')) { $c = $this->xpdo->newQuery('modTemplateVar'); $c->query['distinct'] = 'DISTINCT'; $c->select($this->xpdo->getSelectColumns('modTemplateVar')); $c->select(array('value' => $this->xpdo->getSelectColumns('modTemplateVar', 'modTemplateVar', '', array('default_text')))); $c->innerJoin('modTemplateVarTemplate', 'tvtpl', array('tvtpl.tmplvarid = modTemplateVar.id', 'tvtpl.templateid' => $this->get('id'))); $c->sortby('tvtpl.rank,modTemplateVar.rank'); $collection = $this->xpdo->getCollection('modTemplateVar', $c, $cacheFlag); } else { $collection = parent::getMany($alias, $criteria, $cacheFlag); } return $collection; }
/** * Gets a collection of objects related by aggregate or composite relations. * * {@inheritdoc} * * Includes special handling for related objects with alias {@link * modTemplateVar}, respecting framework security unless specific criteria * are provided. */ public function & getMany($alias, $criteria= null, $cacheFlag= true) { $collection= array (); if (($alias === 'TemplateVars' || $alias === 'modTemplateVar') && ($criteria === null || strtolower($criteria) === 'all')) { $c = $this->xpdo->newQuery('modTemplateVar'); $c->select(' DISTINCT modTemplateVar.*, modTemplateVar.default_text AS value'); $c->innerJoin('modTemplateVarTemplate','tvtpl',array( '`tvtpl`.`tmplvarid` = `modTemplateVar`.`id`', '`tvtpl`.templateid' => $this->get('id'), )); $c->sortby('`tvtpl`.`rank`,`modTemplateVar`.`rank`'); $collection = $this->xpdo->getCollection('modTemplateVar', $c, $cacheFlag); } else { $collection= parent :: getMany($alias, $criteria, $cacheFlag); } return $collection; }