/** * Drop the table * * @return result query */ public function drop() { if (isset(Schema::$tables[$this->getTable()])) { foreach (Schema::getAllForeignKeyTo($this->getTable()) as $k) { $this->query(DB::SQL()::DROP_FOREIGN_KEY($k->getTable(), $k->getConstraint())); Schema::getTable($k->getTable())->getColumn($k->getName())->resetForeign(); self::$tables[$k->getTable()]->getColumn($k->getName())->resetForeign(); } unset(Schema::$tables[$this->getTable()]); unset(self::$tables[$this->getTable()]); return $this->query(DB::SQL()::DROP_TABLE($this->getTable())); } }