/** * Creates (not save) Anketa Entity object * * @param string storage_name * @param array post * @param RM_Anketa_Entity|NULL obEntity * @return RM_Anketa_Entity **/ public function createEntity($storage_name, $post = array(), RM_Anketa_Entity $obEntity = NULL) { // выберем из входных данных самое необходимое (через массив fields) :) $data = $this->_filterIncomingData($storage_name, $post); // запомним id родительского объекта obEntity, если таковой требуется для данного объекта $parent_type = @$this->parent_type($storage_name); if ($parent_type) { if ($obEntity->type() != $parent_type) { throw new RM_Base_Exception_BadUsage(__METHOD__ . "(): inappropriate parent entity type. `" . $parent_type . "` expected, `" . $obEntity->type() . "` given."); } $data[$parent_type . '_id'] = $obEntity->id(); } /* if ($storage_name == 'subanswer') $obEntity->save(); */ // создадим и вернем объект (без сохраннения в бд!) return $this->_storages[$storage_name]->createObject($data); }