コード例 #1
0
 /**
  * @param Table $table
  * @return string
  */
 public function resolveFacadeFilename(Table $table)
 {
     return $this->config->get('facade.folder') . DIRECTORY_SEPARATOR . $this->normalize(ucfirst($table->getName()) . $this->config->get('facade.filename.suffix')) . '.' . IFilenameResolver::PHP_EXT;
 }
コード例 #2
0
ファイル: DatabaseAnalyser.php プロジェクト: minetro/normgen
 /**
  * @param Table $table
  */
 protected function analyseIndexes(Table $table)
 {
     $tableName = $table->getName();
     // Analyse indexes
     $indexes = $this->driver->getIndexes($tableName);
     $keys = $this->driver->getForeignKeys($tableName);
     foreach ($indexes as $index) {
         foreach ($index['columns'] as $col) {
             $column = $table->getColumn($col);
             $column->setPrimary($index['primary']);
             $column->setUnique($index['unique']);
             $column->setIndex(TRUE);
         }
     }
     foreach ($keys as $key) {
         $column = $table->getColumn($key['local']);
         $column->setForeignKey($foreign = new ForeignKey());
         $foreign->setSourceTable($table->getName());
         $foreign->setSourceColumn($key['local']);
         $foreign->setReferenceTable($key['table']);
         $foreign->setReferenceColumn($key['foreign']);
     }
 }
コード例 #3
0
ファイル: Database.php プロジェクト: minetro/normgen
 /**
  * @param Table $table
  */
 public function addTable(Table $table)
 {
     $table->attach($this);
     $this->tables[] = $table;
 }
コード例 #4
0
ファイル: SimpleResolver.php プロジェクト: minetro/normgen
 /**
  * @param Table $table
  * @return string
  */
 protected function table(Table $table)
 {
     return $this->normalize(ucfirst($table->getName()));
 }
コード例 #5
0
 /**
  * @param Table $table
  * @return string
  */
 public function resolveFacadeName(Table $table)
 {
     return $this->normalize(ucfirst($table->getName()) . $this->config->get('facade.name.suffix'));
 }