Ejemplo n.º 1
0
 /**
  * @param $name
  * @param null $value
  * @return bool
  * @throws \Bitrix\Main\SystemException
  */
 protected function addQueryAlias($name, $value = null)
 {
     $list = array();
     if ($name == $value) {
         $value = null;
     }
     if (!empty($value) && is_array($value)) {
         $list = $value;
     } else {
         $list[$name] = $value;
     }
     foreach ($list as $fieldName => $fieldValue) {
         if (in_array($fieldName, $this->queryAliasList)) {
             return false;
         }
         $this->queryAliasList[] = $fieldName;
         $this->query->addAlias($fieldName, $fieldValue);
     }
     return true;
 }
Ejemplo n.º 2
0
 public static function adaptResult(Compatible\CDBResult $result, Compatible\OrderQuery $query, $taskIdName)
 {
     if (!($query->grouped() || $query->aggregated())) {
         $select = $query->allSelected() ? self::permissions() : array_intersect_key(self::permissions(), $query->getSelect());
         if ($select) {
             $query->setSelect(array_diff_key($query->getSelect(), $select));
             $query->addAlias('TASK_ID', $taskIdName);
             $query->addAliasSelect('TASK_ID');
             $result->addFetchAdapter(new self($select));
         }
     }
 }