/** * Prepares a table reference for lookup. * * Ensures all reference keys are set and properly formatted. * * @param Zend_Db_Table_Abstract $dependentTable * @param Zend_Db_Table_Abstract $parentTable * @param string $ruleKey * @return array */ protected function _prepareReference(Zend_Db_Table_Abstract $dependentTable, Zend_Db_Table_Abstract $parentTable, $ruleKey) { $parentTableName = get_class($parentTable) === 'Zend_Db_Table' ? $parentTable->getDefinitionConfigName() : get_class($parentTable); $map = $dependentTable->getReference($parentTableName, $ruleKey); if (!isset($map[Zend_Db_Table_Abstract::REF_COLUMNS])) { $parentInfo = $parentTable->info(); $map[Zend_Db_Table_Abstract::REF_COLUMNS] = array_values((array) $parentInfo['primary']); } $map[Zend_Db_Table_Abstract::COLUMNS] = (array) $map[Zend_Db_Table_Abstract::COLUMNS]; $map[Zend_Db_Table_Abstract::REF_COLUMNS] = (array) $map[Zend_Db_Table_Abstract::REF_COLUMNS]; return $map; }
/** * @param string $tableClassname * @param string $ruleKey OPTIONAL * @return array * @throws Zend_Db_Table_Exception */ public function getReference($tableClassname, $ruleKey = null) { $tableClassname = str_replace('DbTable_', '', $tableClassname); return parent::getReference($tableClassname, $ruleKey); }
/** * Prepares a table reference for lookup. * * Ensures all reference keys are set and properly formatted. * * @param Zend_Db_Table_Abstract $dependentTable * @param Zend_Db_Table_Abstract $parentTable * @param string $ruleKey * @return array */ protected function _prepareReference(Zend_Db_Table_Abstract $dependentTable, Zend_Db_Table_Abstract $parentTable, $ruleKey) { $map = $dependentTable->getReference(get_class($parentTable), $ruleKey); if (!is_array($map[Zend_Db_Table_Abstract::COLUMNS])) { $map[Zend_Db_Table_Abstract::COLUMNS] = (array) $map[Zend_Db_Table_Abstract::COLUMNS]; } if (!isset($map[Zend_Db_Table_Abstract::REF_COLUMNS])) { $parentInfo = $parentTable->info(); $map[Zend_Db_Table_Abstract::REF_COLUMNS] = (array) $parentInfo['primary']; } if (!is_array($map[Zend_Db_Table_Abstract::REF_COLUMNS])) { $map[Zend_Db_Table_Abstract::REF_COLUMNS] = (array) $map[Zend_Db_Table_Abstract::REF_COLUMNS]; } return $map; }
/** * Prepares a table reference for lookup. * * Ensures all reference keys are set and properly formatted. * * @param Zend_Db_Table_Abstract $parentTable * @param string $tableClass * @param string $ruleKey * @return array */ protected function _prepareReference(Zend_Db_Table_Abstract $table, $tableClass, $ruleKey) { $map = $table->getReference($tableClass, $ruleKey); if (!is_array($map[Zend_Db_Table_Abstract::COLUMNS])) { $map[Zend_Db_Table_Abstract::COLUMNS] = (array) $map[Zend_Db_Table_Abstract::COLUMNS]; } if (!isset($map[Zend_Db_Table_Abstract::REF_COLUMNS])) { $info = $table->info(); $map[Zend_Db_Table_Abstract::REF_COLUMNS] = $info['primary']; } if (!is_array($map[Zend_Db_Table_Abstract::REF_COLUMNS])) { $map[Zend_Db_Table_Abstract::REF_COLUMNS] = (array) $map[Zend_Db_Table_Abstract::REF_COLUMNS]; } return $map; }