From b51bc464e5029ce8f9017a688bac4242b3119038 Mon Sep 17 00:00:00 2001 From: ProtossChrisTW Date: Sat, 1 Jul 2023 12:30:03 +0800 Subject: [PATCH] fix: modify replaceBindings logic to fit current laravel implementation. --- src/Objects/Concerns/ReplacesBindings.php | 4 ++-- tests/Objects/SqlQueryTest.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Objects/Concerns/ReplacesBindings.php b/src/Objects/Concerns/ReplacesBindings.php index 7edcf85..68601e2 100644 --- a/src/Objects/Concerns/ReplacesBindings.php +++ b/src/Objects/Concerns/ReplacesBindings.php @@ -19,7 +19,7 @@ protected function replaceBindings($sql, array $bindings) $generalRegex = $this->getRegex(); foreach ($this->formatBindings($bindings) as $key => $binding) { - $regex = is_numeric($key) ? $generalRegex : $this->getNamedParameterRegex($key); + $regex = is_int($key) ? $generalRegex : $this->getNamedParameterRegex($key); $sql = preg_replace($regex, $this->value($binding), $sql, 1); } @@ -43,7 +43,7 @@ protected function value($value) return (int) $value; } - return is_numeric($value) ? $value : "'" . $value . "'"; + return is_int($value) ? $value : "'" . $value . "'"; } /** diff --git a/tests/Objects/SqlQueryTest.php b/tests/Objects/SqlQueryTest.php index 7f4b4d7..892b3cf 100644 --- a/tests/Objects/SqlQueryTest.php +++ b/tests/Objects/SqlQueryTest.php @@ -53,7 +53,7 @@ public function it_returns_valid_query_with_replaced_bindings() $expectedSql = <<toDateTimeString()}', '%' - , '{$bindings[2]->format('Y-m-d H:i:s')}') = 453 AND column = 67.23 + , '{$bindings[2]->format('Y-m-d H:i:s')}') = 453 AND column = '67.23' EOF; $this->assertSame($expectedSql, $query->get()); @@ -72,7 +72,7 @@ public function it_returns_valid_query_with_replaced_bindings_for_immutable_date $expectedSql = <<toDateTimeString()}', '%' - , '{$bindings[2]->format('Y-m-d H:i:s')}') = 453 AND column = 67.23 + , '{$bindings[2]->format('Y-m-d H:i:s')}') = 453 AND column = '67.23' EOF; $this->assertSame($expectedSql, $query->get());