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

View File

@@ -810,11 +810,11 @@ class Query {
}
/**
* 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 @@ class Query {
$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;
}