/** * Funkce pro odstranění datového sloupce z databáze * @param Datasource|int $datasource * @param DatasourceColumn|int $column * @return bool */ public function deleteDatasourceColumn($datasource, $column) { if (!$datasource instanceof Datasource) { $datasource = $this->findDatasource($datasource); } if (!$column instanceof DatasourceColumn) { $column = $this->findDatasourceColumn($datasource, $column); } $this->databasesFacade->openDatabase($datasource->getDbConnection()); if ($this->databasesFacade->deleteColumn($datasource->dbTable, $column->name)) { $this->datasourceColumnsRepository->delete($column); $this->reloadDatasourceColumns($datasource); return true; } else { $this->reloadDatasourceColumns($datasource); return false; } }
/** * Funkce pro nalezení DatasourceColumn podle ID sloupce v datové službě * @param Datasource $datasource * @param int $dbDatasourceFieldId * @return DatasourceColumn * @throws EntityNotFoundException */ public function findDatasourceColumnByDbDatasourceColumnId(Datasource $datasource, $dbDatasourceFieldId) { return $this->datasourceColumnsRepository->findBy(['datasource_id' => $datasource->datasourceId, $dbDatasourceFieldId]); }