/** * Generates the INSERT SQL used by the persister to persist entities. * * @return string */ protected function _generateInsertSql() { $insertSql = ''; $columns = $this->_getInsertColumnList(); if (empty($columns)) { $insertSql = $this->_platform->getEmptyIdentityInsertSql($this->_class->getQuotedTableName($this->_platform), $this->_class->getQuotedColumnName($this->_class->identifier[0], $this->_platform)); } else { $columns = array_unique($columns); $values = array_fill(0, count($columns), '?'); $insertSql = 'INSERT INTO ' . $this->_class->getQuotedTableName($this->_platform) . ' (' . implode(', ', $columns) . ') ' . 'VALUES (' . implode(', ', $values) . ')'; } return $insertSql; }