From e80331e5ef449883305d5a2ba26bb1c0c467f881 Mon Sep 17 00:00:00 2001 From: lsces Date: Wed, 25 Feb 2026 13:03:50 +0000 Subject: Use the returned id value in place of the pdo::lastInsertID which firebird does not support --- src/Query/Processors/FirebirdProcessor.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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; + } } -- cgit v1.3