summaryrefslogtreecommitdiff
path: root/src/Query/Processors/FirebirdProcessor.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Query/Processors/FirebirdProcessor.php')
-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;
+ }
}