Example #1
0
 /**
  * Get tables linked to a given table (reference by and referenced by)
  * @param Table $parentTable
  * @return array array<Tables>
  */
 public function getProximityTablesFrom(Table $parentTable)
 {
     $tables = [];
     foreach ($parentTable->getForeignKeys() as $fk) {
         $table = $this->getTableByOid($fk->getParentTable());
         if (!isset($tables[$table->getOid()])) {
             $tables[$table->getOid()] = $table;
         }
     }
     foreach ($parentTable->getReferencedInTables() as $oid) {
         $table = $this->getTableByOid($oid);
         if (!isset($tables[$table->getOid()])) {
             $tables[$table->getOid()] = $table;
         }
     }
     return $tables;
 }