/** * Получение данных связи. * * @param $reference * * @return array */ protected function getReferenceDataSet(Entity\ReferenceField $reference) { /** * @var DataManager $modelClass */ $modelClass = $this->modelClass; $dataSet = array(); $fieldWidget = $this->getFieldWidget($reference->getName()); $rsData = $modelClass::getList(array('select' => array('REF_' => $reference->getName() . '.*'), 'filter' => array('=' . $this->modelPk => $this->itemId))); while ($data = $rsData->fetch()) { if (empty($data['REF_' . $fieldWidget->getMultipleField('ID')])) { continue; } $row = array(); foreach ($data as $key => $value) { $row[str_replace('REF_', '', $key)] = $value; } $dataSet[$data['REF_' . $fieldWidget->getMultipleField('ID')]] = $row; } return $dataSet; }