summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlsces <lester@lsces.co.uk>2026-02-25 13:03:50 +0000
committerlsces <lester@lsces.co.uk>2026-02-25 13:03:50 +0000
commite80331e5ef449883305d5a2ba26bb1c0c467f881 (patch)
tree02688e0413d00864221a4e2d90febcf385726489
parentc133d39be2aafc1f1952a556a2770f2ea2a66d05 (diff)
downloadilluminate-firebird-e80331e5ef449883305d5a2ba26bb1c0c467f881.tar.gz
illuminate-firebird-e80331e5ef449883305d5a2ba26bb1c0c467f881.tar.bz2
illuminate-firebird-e80331e5ef449883305d5a2ba26bb1c0c467f881.zip
Use the returned id value in place of the pdo::lastInsertID which firebird does not support
-rw-r--r--src/Query/Processors/FirebirdProcessor.php19
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;
+ }
}