From 0a19ccbf80bf7efd9bed2000460b31f9b13f2d69 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Fri, 23 Mar 2018 13:45:24 +0100 Subject: [PATCH] added JSON support [Closes #269] --- src/Dibi/Helpers.php | 1 + src/Dibi/Result.php | 3 +++ src/Dibi/Type.php | 1 + 3 files changed, 5 insertions(+) diff --git a/src/Dibi/Helpers.php b/src/Dibi/Helpers.php index 20cac485..0918b974 100644 --- a/src/Dibi/Helpers.php +++ b/src/Dibi/Helpers.php @@ -189,6 +189,7 @@ class Helpers 'TIME' => Type::DATETIME, // DATETIME, TIMESTAMP 'DATE' => Type::DATE, 'BOOL' => Type::BOOL, + 'JSON' => Type::JSON, ]; foreach ($patterns as $s => $val) { diff --git a/src/Dibi/Result.php b/src/Dibi/Result.php index 6f54543d..981e3a8f 100644 --- a/src/Dibi/Result.php +++ b/src/Dibi/Result.php @@ -495,6 +495,9 @@ class Result implements IDataSource } elseif ($type === Type::BINARY) { $row[$key] = $this->getResultDriver()->unescapeBinary($value); + + } elseif ($type === Type::JSON) { + $row[$key] = json_decode($value); } } } diff --git a/src/Dibi/Type.php b/src/Dibi/Type.php index 0d4240ad..26227eab 100644 --- a/src/Dibi/Type.php +++ b/src/Dibi/Type.php @@ -18,6 +18,7 @@ class Type public const TEXT = 's', // as 'string' BINARY = 'bin', + JSON = 'json', BOOL = 'b', INTEGER = 'i', FLOAT = 'f',