summaryrefslogtreecommitdiff
path: root/src/illuminate/Query/Processors/FirebirdProcessor.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/illuminate/Query/Processors/FirebirdProcessor.php')
-rw-r--r--src/illuminate/Query/Processors/FirebirdProcessor.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/illuminate/Query/Processors/FirebirdProcessor.php b/src/illuminate/Query/Processors/FirebirdProcessor.php
new file mode 100644
index 0000000..577ebf7
--- /dev/null
+++ b/src/illuminate/Query/Processors/FirebirdProcessor.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace Firebird\Illuminate\Query\Processors;
+
+use Illuminate\Database\Query\Processors\Processor;
+use Illuminate\Database\Query\Builder;
+
+class FirebirdProcessor extends Processor
+{
+ /**
+ * Process the results of a column listing query.
+ *
+ * @param array $results
+ * @return array
+ */
+ public function processColumnListing($results)
+ {
+ return array_map(function ($result) {
+ 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;
+ }
+}