getReference() public method

public getReference ( string $tableClassname, string $ruleKey = null ) : array
$tableClassname string
$ruleKey string OPTIONAL
return array
 /**
  * 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;
 }
Beispiel #2
0
 /**
  * @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);
 }
Beispiel #3
0
 /**
  * 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;
 }
Beispiel #4
0
 /**
  * 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;
 }