diff options
Diffstat (limited to 'src/Query/Processors/FirebirdProcessor.php')
| -rw-r--r-- | src/Query/Processors/FirebirdProcessor.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Query/Processors/FirebirdProcessor.php b/src/Query/Processors/FirebirdProcessor.php index 0d10706..e709178 100644 --- a/src/Query/Processors/FirebirdProcessor.php +++ b/src/Query/Processors/FirebirdProcessor.php @@ -3,6 +3,7 @@ namespace Xgrz\Firebird\Query\Processors; use Illuminate\Database\Query\Processors\Processor; +use \Illuminate\Database\Query\Builder; class FirebirdProcessor extends Processor { @@ -18,4 +19,22 @@ class FirebirdProcessor extends Processor return ((object) $result)->column_name; }, $results); } + + /** + * Process an "insert get ID" query. + * + * @param \Illuminate\Database\Query\Builder $query + * @param string $sql + * @param array $values + * @param string|null $sequence + * @return int + */ + public function processInsertGetId(Builder $query, $sql, $values, $sequence = null) + { + $query->getConnection()->insert($sql, $values); + + $id = $query->getConnection()->getLastInsertId(); + + return is_numeric($id) ? (int) $id : $id; + } } |
