/** * Implement this by setting $obj values (e.g. $obj->setId($row->Id) from a DB row * @param GD_Model_ConfigServer $obj * @param Zend_Db_Table_Row_Abstract $row */ protected function populateObjectFromRow(&$obj, Zend_Db_Table_Row_Abstract $row) { $obj->setId($row->id)->setServersId($row->servers_id)->setConfigsId($row->configs_id); $s_map = new GD_Model_ServersMapper(); $server = new GD_Model_Server(); $s_map->populateObjectFromRow($server, $row->findParentRow('GD_Model_DbTable_Servers')); $obj->setServer($server); $c_map = new GD_Model_ConfigsMapper(); $config = new GD_Model_Config(); $c_map->populateObjectFromRow($config, $row->findParentRow('GD_Model_DbTable_Configs')); $obj->setConfig($config); }
/** * Implement this by setting $obj values (e.g. $obj->setId($row->Id) from a DB row * @param GD_Model_DeploymentFile $obj * @param Zend_Db_Table_Row_Abstract $row */ protected function populateObjectFromRow(&$obj, Zend_Db_Table_Row_Abstract $row) { $obj->setId($row->id)->setDeploymentsId($row->deployments_id)->setDeploymentFileActionsId($row->deployment_file_actions_id)->setDeploymentFileStatusesId($row->deployment_file_statuses_id)->setDetails($row->details); $dfa_map = new GD_Model_DeploymentFileActionsMapper(); $deployment_file_action = new GD_Model_DeploymentFileAction(); $dfa_map->populateObjectFromRow($deployment_file_action, $row->findParentRow('GD_Model_DbTable_DeploymentFileActions')); $obj->setDeploymentFileAction($deployment_file_action); $dfs_map = new GD_Model_DeploymentFileStatusesMapper(); $deployment_file_status = new GD_Model_DeploymentFileStatus(); $dfs_map->populateObjectFromRow($deployment_file_status, $row->findParentRow('GD_Model_DbTable_DeploymentFileStatuses')); $obj->setDeploymentFileStatus($deployment_file_status); }
/** * Implement this by setting $obj values (e.g. $obj->setId($row->Id) from a DB row * @param GD_Model_Config $obj * @param Zend_Db_Table_Row_Abstract $row */ protected function populateObjectFromRow(&$obj, Zend_Db_Table_Row_Abstract $row) { $obj->setId($row->id)->setProjectsId($row->projects_id)->setDateAdded($row->date_added)->setAddedUsersId($row->added_users_id)->setDateUpdated($row->date_updated)->setUpdatedUsersId($row->updated_users_id)->setFilename($row->filename)->setContent($row->content); $p_map = new GD_Model_ProjectsMapper(); $project = new GD_Model_Project(); $p_map->populateObjectFromRow($project, $row->findParentRow('GD_Model_DbTable_Projects')); $obj->setProject($project); $u_map = new GD_Model_UsersMapper(); $added_user = new GD_Model_User(); $u_map->populateObjectFromRow($added_user, $row->findParentRow('GD_Model_DbTable_Users', 'GD_Model_DbTable_Users+Added')); $obj->setAddedUser($added_user); $updated_user = new GD_Model_User(); $u_map->populateObjectFromRow($updated_user, $row->findParentRow('GD_Model_DbTable_Users', 'GD_Model_DbTable_Users+Updated')); $obj->setUpdatedUser($updated_user); }
/** * Query a parent table to retrieve the single row matching the current row. * * @param string|Zend_Db_Table_Abstract $parentTable * @param string OPTIONAL $ruleKey * @param Zend_Db_Table_Select OPTIONAL $select * @return Zend_Db_Table_Row_Abstract Query result from $parentTable * @throws Zend_Db_Table_Row_Exception If $parentTable is not a table or is not loadable. */ public function findParentRow($parentTable, $ruleKey = null, Zend_Db_Table_Select $select = null) { if (is_string($parentTable)) { $parentTable = System_Locator_TableLocator::getInstance()->get($parentTable); } return parent::findParentRow($parentTable, $ruleKey, $select); }
/** * Implement this by setting $obj values (e.g. $obj->setId($row->Id) from a DB row * @param GD_Model_Project $obj * @param Zend_Db_Table_Row_Abstract $row */ protected function populateObjectFromRow(&$obj, Zend_Db_Table_Row_Abstract $row) { $obj->setId($row->id)->setName($row->name)->setSlug($row->slug)->setRepositoryTypesId($row->repository_types_id)->setRepositoryUrl($row->repository_url)->setDeploymentBranch($row->deployment_branch)->setSSHKeysId($row->ssh_keys_id); $pk_map = new GD_Model_SSHKeysMapper(); $public_key = new GD_Model_SSHKey(); $pk_map->populateObjectFromRow($public_key, $row->findParentRow('GD_Model_DbTable_SSHKeys')); $obj->setSSHKey($public_key); }
/** * Implement this by setting $obj values (e.g. $obj->setId($row->Id) from a DB row * @param GD_Model_Server $obj * @param Zend_Db_Table_Row_Abstract $row */ protected function populateObjectFromRow(&$obj, Zend_Db_Table_Row_Abstract $row) { $crypt = new GD_Crypt(); $decrypted_pwd = $crypt->doDecrypt($row->password); $obj->setId($row->id)->setName($row->name)->setHostname($row->hostname)->setConnectionTypesId($row->connection_types_id)->setPort($row->port)->setUsername($row->username)->setPassword($decrypted_pwd)->setRemotePath($row->remote_path)->setProjectsId($row->projects_id); $ct_map = new GD_Model_ConnectionTypesMapper(); $connection_type = new GD_Model_ConnectionType(); $ct_map->populateObjectFromRow($connection_type, $row->findParentRow('GD_Model_DbTable_ConnectionTypes')); $obj->setConnectionType($connection_type); }
/** * Implement this by setting $obj values (e.g. $obj->setId($row->Id) from a DB row * @param GD_Model_Deployment $obj * @param Zend_Db_Table_Row_Abstract $row */ protected function populateObjectFromRow(&$obj, Zend_Db_Table_Row_Abstract $row) { $obj->setId($row->id)->setUsersId($row->users_id)->setProjectsId($row->projects_id)->setWhen($row->when)->setServersId($row->servers_id)->setFromRevision($row->from_revision)->setToRevision($row->to_revision)->setComment($row->comment)->setDeploymentStatusesId($row->deployment_statuses_id); $u_map = new GD_Model_UsersMapper(); $user = new GD_Model_User(); $u_map->populateObjectFromRow($user, $row->findParentRow('GD_Model_DbTable_Users')); $obj->setUser($user); $p_map = new GD_Model_ProjectsMapper(); $project = new GD_Model_Project(); $p_map->populateObjectFromRow($project, $row->findParentRow('GD_Model_DbTable_Projects')); $obj->setProject($project); $s_map = new GD_Model_ServersMapper(); $server = new GD_Model_Server(); $s_map->populateObjectFromRow($server, $row->findParentRow('GD_Model_DbTable_Servers')); $obj->setServer($server); $ds_map = new GD_Model_DeploymentStatusesMapper(); $deployment_status = new GD_Model_DeploymentStatus(); $ds_map->populateObjectFromRow($deployment_status, $row->findParentRow('GD_Model_DbTable_DeploymentStatuses')); $obj->setDeploymentStatus($deployment_status); }
public function findParentRow($parentTable, $ruleKey = null, Zend_Db_Table_Select $select = null) { // Possível Informação de Chave if (is_string($parentTable) && !isset($ruleKey)) { $needle = $parentTable; $mapper = $this->getTable()->info(Zend_Db_Table::REFERENCE_MAP); // Busca por Chave como Referência if (array_key_exists($needle, $mapper)) { // Chave Encontrada // Transformando a Pesquisa $parentTable = $mapper[$needle]['refTableClass']; // Informações na Tabela } } return parent::findParentRow($parentTable, $ruleKey, $select); }
private function _rowToObject(Zend_Db_Table_Row_Abstract $row) { $teamRow = $row->findParentRow('User_Model_DbTable_Team', 'Team'); $team = new User_Model_Team(); if (count($teamRow)) { $team->setId($teamRow->ut_id)->setName($teamRow->ut_name); } $user = new User_Model_Staffmembre(); $user->setId($row->usm_id)->setFirstname($row->usm_firstname)->setLastname($row->usm_lastname)->setEmail($row->usm_email)->setLogin($row->usm_login); if ($team instanceof User_Model_Team) { $user->setTeam($team); } return $user; }
public function findParentRow($parentTable, $ruleKey = null, Zend_Db_Table_Select $select = null) { $db = $this->_getTable()->getAdapter(); //***kopiert von Zend_Db_Table_Row if (is_string($parentTable)) { try { Zend_Loader::loadClass($parentTable); } catch (Zend_Exception $e) { throw new Zend_Db_Table_Row_Exception($e->getMessage()); } $parentTable = new $parentTable(array('db' => $db)); } if (!$parentTable instanceof Zend_Db_Table_Abstract) { $type = gettype($parentTable); if ($type == 'object') { $type = get_class($parentTable); } throw new Zend_Db_Table_Row_Exception("Parent table must be a Zend_Db_Table_Abstract, but it is {$type}"); } $map = $this->_prepareReference($this->_getTable(), $parentTable, $ruleKey); //******** for ($i = 0; $i < count($map[Zend_Db_Table_Abstract::COLUMNS]); ++$i) { $dependentColumnName = $db->foldCase($map[Zend_Db_Table_Abstract::COLUMNS][$i]); $value = $this->_data[$dependentColumnName]; if (!$value) { return null; } } return parent::findParentRow($parentTable, $ruleKey, $select); }