diff options
| author | lsces <lester@lsces.co.uk> | 2026-02-25 13:03:50 +0000 |
|---|---|---|
| committer | lsces <lester@lsces.co.uk> | 2026-02-25 13:03:50 +0000 |
| commit | e80331e5ef449883305d5a2ba26bb1c0c467f881 (patch) | |
| tree | 02688e0413d00864221a4e2d90febcf385726489 | |
| parent | c133d39be2aafc1f1952a556a2770f2ea2a66d05 (diff) | |
| download | illuminate-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.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; + } } |
