Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function insert($table, array $columns, array $rowsets)
 {
     if (count($rowsets) == 1) {
         return parent::insert($table, $columns, $rowsets);
     }
     //SQLite uses alternative syntax
     $statement = [];
     $statement[] = "INSERT INTO {$this->quote($table, true)} ({$this->columns($columns)})";
     foreach ($rowsets as $rowset) {
         if (count($statement) == 1) {
             $selectColumns = [];
             foreach ($columns as $column) {
                 $selectColumns[] = "? AS {$this->quote($column)}";
             }
             $statement[] = 'SELECT ' . join(', ', $selectColumns);
         } else {
             $statement[] = 'UNION SELECT ' . trim(str_repeat('?, ', count($columns)), ', ');
         }
     }
     return join("\n", $statement);
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function insert($table, array $columns, array $rowsets, $primaryKey = '')
 {
     return parent::insert($table, $columns, $rowsets) . (!empty($primaryKey) ? ' RETURNING ' . $this->quote($primaryKey) : '');
 }