From 737d8f74b4ff7cc5ac806e3d16a31b718982403b Mon Sep 17 00:00:00 2001 From: bauer01 Date: Tue, 12 Jan 2016 16:46:16 +0100 Subject: [PATCH] query: fixed filter in with string values --- src/Query.php | 2 +- tests/cases/Query.phpt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Query.php b/src/Query.php index ae960a8..d8e30dd 100644 --- a/src/Query.php +++ b/src/Query.php @@ -186,7 +186,7 @@ private function _formatFilter(array $filter, $or = false) $modifier = "IN"; if (array_filter($value, 'is_string')) { - $value = "('" . implode("','", $value) . ")"; + $value = "('" . implode("','", $value) . "')"; } else { $value = "(" . implode(",", $value) . ")"; } diff --git a/tests/cases/Query.phpt b/tests/cases/Query.phpt index 54394ba..e0bc5b8 100644 --- a/tests/cases/Query.phpt +++ b/tests/cases/Query.phpt @@ -27,6 +27,15 @@ class QueryTest extends Tester\TestCase ); } + public function testSetFilterInString() + { + $this->query->setFilter(["in" => [Filter::EQUAL => ["1", "2"]]]); + Assert::same( + "objednavka-prijata/(in IN ('1','2')).json?code-as-id=true", + rawurldecode($this->query->getRaw()) + ); + } + public function testSetFilterEqual() { $this->query->setFilter(["equal" => [Filter::EQUAL=> 1]]);