コード例 #1
0
 /**
  * Получение данных связи.
  *
  * @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;
 }