/** * Get a SQL-formatted string of the column order to be used in the INSERT statement. * (INSERT INTO foo (--> column1, column2, column3, ... <--) * * @param array $columns * * @return string */ private function extractInsertColumns($columns) { $columns = array_map(function ($column) { return $this->connectionHandler->getPlatform()->quoteIdentifier($column); }, $columns); return implode(', ', $columns); }
/** * Add the configured filter to the select query. * * @param QueryBuilder $qb * @param TableConfiguration $tableConfig * @param array $harvestedValues */ private function addFiltersToSelectQuery(QueryBuilder $qb, TableConfiguration $tableConfig, array $harvestedValues) { $paramIndex = 0; foreach ($tableConfig->getFilters() as $filter) { if ($filter instanceof DataDependentFilter) { $this->handleDataDependentFilter($filter, $tableConfig, $harvestedValues); } $param = $this->bindParameters($qb, $filter, $paramIndex); $expr = call_user_func_array(array($qb->expr(), $filter->getOperator()), array($this->connectionHandler->getPlatform()->quoteIdentifier($filter->getColumnName()), $param)); if ($filter instanceof DataDependentFilter) { // also select null values $expr = $qb->expr()->orX($expr, $qb->expr()->isNull($this->connectionHandler->getPlatform()->quoteIdentifier($filter->getColumnName()))); } $qb->andWhere($expr); $paramIndex++; } }
/** * {@inheritdoc} */ public function registerCustomTypeMappings() { $this->connectionHandler->getPlatform()->registerDoctrineTypeMapping('enum', 'string'); }