/**
  * 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);
 }
Example #2
0
 /**
  * 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');
 }