Make insert_get_id() work with non-auto-incrementing columns.

This commit is contained in:
Franz Liedke 2012-11-01 18:16:44 +01:00
parent d693a82615
commit b88c9144ec
1 changed files with 8 additions and 3 deletions

View File

@ -810,11 +810,11 @@ public function insert($values)
}
/**
* Insert an array of values into the database table and return the ID.
* Insert an array of values into the database table and return the key.
*
* @param array $values
* @param string $column
* @return int
* @return mixed
*/
public function insert_get_id($values, $column = 'id')
{
@ -822,7 +822,12 @@ public function insert_get_id($values, $column = 'id')
$result = $this->connection->query($sql, array_values($values));
if ($this->grammar instanceof Postgres)
// If the key is not auto-incrementing, we will just return the inserted value
if (isset($values[$column]))
{
return $values[$column];
}
else if ($this->grammar instanceof Postgres)
{
return (int) $result[0]->$column;
}