protected function initTableData() { $this->active_record_list->getArWhereCollection()->setStatements(NULL); $this->active_record_list->getArJoinCollection()->setStatements(NULL); $this->active_record_list->getArLimitCollection()->setStatements(NULL); $this->active_record_list->getArOrderCollection()->setStatements(NULL); $this->filterTableData(); $this->beforeGetData(); $this->setOrderAndSegmentation(); $ar_data = $this->active_record_list->getArray(); $data = array(); foreach ($ar_data as $key => $item) { $data[$key] = array(); foreach ($this->getFields()->getFieldsForDisplay() as $field) { /** * @var arIndexTableField $field */ if (array_key_exists($field->getName(), $item)) { if (!$item[$field->getName()]) { $data[$key][$field->getName()] = $this->setEmptyFieldData($field, $item); } elseif ($field->getIsCreatedByField()) { $data[$key][$field->getName()] = $this->setArCreatedByField($field, $item, $item[$field->getName()]); } elseif ($field->getIsModifiedByField()) { $data[$key][$field->getName()] = $this->setArModifiedByField($field, $item, $item[$field->getName()]); } else { $data[$key][$field->getName()] = $this->setArFieldData($field, $item, $item[$field->getName()]); } } else { $data[$key][$field->getName()] = $this->setCustomFieldData($field, $item); } } } $this->setData($data); }
/** * @param null $key * @param null $values * * @return array */ public static function getArray($key = NULL, $values = NULL) { $srModelObjectList = new ActiveRecordList(self::getCalledClass()); return $srModelObjectList->getArray($key, $values); }