Esempio n. 1
0
 /**
  * @param \Classes\MakerFile $makerFile
  * @param \Classes\Db\DbTable $dbTable
  *
  * @return array
  */
 public function parseRelation(\Classes\MakerFile $makerFile, \Classes\Db\DbTable $dbTable)
 {
     $referenceMap = '';
     $references = array();
     $dependentTables = '';
     $dependents = array();
     foreach ($dbTable->getForeingkeys() as $objColumn) {
         $constrant = $objColumn->getFks();
         $variable = $constrant->getNameConstrant() . ZendFrameworkOne::SEPARETOR . $objColumn->getName();
         $arrClass = array($makerFile->getConfig()->createClassNamespace($constrant), 'DbTable', AbstractMaker::getClassName($constrant->getTable()));
         $class = implode(ZendFrameworkOne::SEPARETOR, array_filter($arrClass));
         $references[] = sprintf("\n       '%s' => array (\n            'columns'       => '%s' ,\n            'refTableClass' => '%s',\n            'refColumns'    =>'%s'\n       )", AbstractMaker::getClassName($variable), $objColumn->getName(), $class, $constrant->getColumn());
     }
     if (sizeof($references) > 0) {
         $referenceMap = "protected \$_referenceMap = array(" . join(',', $references) . "\n    );";
     }
     foreach ($dbTable->getDependences() as $objColumn) {
         foreach ($objColumn->getDependences() as $dependence) {
             $arrClass = array($makerFile->getConfig()->createClassNamespace($dependence), 'DbTable', AbstractMaker::getClassName($dependence->getTable()));
             $class = implode(ZendFrameworkOne::SEPARETOR, array_filter($arrClass));
             $dependents[] = $class;
         }
     }
     if (sizeof($dependents) > 0) {
         $dependentTables = "protected \$_dependentTables = array(\n        '" . join("',\n        '", $dependents) . "'\n    );";
     }
     return array('referenceMap' => $referenceMap, 'dependentTables' => $dependentTables);
 }
Esempio n. 2
0
 /**
  * @param \Classes\MakerFile  $makerFile
  * @param \Classes\Db\DbTable $dbTable
  *
  * @return array
  */
 private function listParents(\Classes\MakerFile $makerFile, \Classes\Db\DbTable $dbTable)
 {
     $mapParents = '';
     $references = array();
     foreach ($dbTable->getForeingkeys() as $objColumn) {
         $constrant = $objColumn->getFks();
         $references[] = sprintf('$this->belongsTo(\'%s\', \'%s\', \'%s\', array(\'alias\' => \'%s\'))', $objColumn->getName(), $makerFile->getConfig()->createClassNamespace($constrant) . Phalcon::SEPARETOR . AbstractMaker::getClassName($constrant->getTable()), $constrant->getColumn(), AbstractMaker::getClassName($constrant->getTable()));
     }
     if (sizeof($references) > 0) {
         $mapParents = join(";\n\t\t", $references) . ";\n";
     }
     return $mapParents;
 }
Esempio n. 3
0
 /**
  * @param \Classes\MakerFile  $makerFile
  * @param \Classes\Db\DbTable $dbTable
  *
  * @return array
  */
 private function listParents(\Classes\MakerFile $makerFile, \Classes\Db\DbTable $dbTable)
 {
     $parents = array();
     foreach ($dbTable->getForeingkeys() as $objColumn) {
         $constrant = $objColumn->getFks();
         $name = 'Parent' . ZendFrameworkOne::SEPARETOR . AbstractMaker::getClassName($constrant->getTable()) . ZendFrameworkOne::SEPARETOR . 'By' . ZendFrameworkOne::SEPARETOR . $objColumn->getName();
         $variable = $constrant->getNameConstrant() . ZendFrameworkOne::SEPARETOR . $objColumn->getName();
         $arrClass = array($makerFile->getConfig()->createClassNamespace($constrant), AbstractMaker::getClassName($constrant->getTable()));
         $class = implode(ZendFrameworkOne::SEPARETOR, array_filter($arrClass));
         $parents[] = array('class' => $class, 'function' => AbstractMaker::getClassName($name), 'table' => $constrant->getTable(), 'column' => $constrant->getColumn(), 'name' => $constrant->getNameConstrant(), 'variable' => $variable);
         unset($name);
     }
     return $parents;
 }