From 61dcb14556f7fa840ec0c8cefd9eb69c3d09f246 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Mon, 4 Aug 2025 16:20:03 -0400 Subject: [PATCH 1/2] Cast to boolean --- src/Fieldtypes/Toggle.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Fieldtypes/Toggle.php b/src/Fieldtypes/Toggle.php index a689de319d6..8deb4cf095f 100644 --- a/src/Fieldtypes/Toggle.php +++ b/src/Fieldtypes/Toggle.php @@ -69,4 +69,9 @@ public function filter() { return new ToggleFilter($this); } + + public function toQueryableValue($value) + { + return (bool) $value; + } } From b9570f329e46f5e4019d31b3caeff88c99a6956a Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Mon, 4 Aug 2025 16:49:13 -0400 Subject: [PATCH 2/2] a test --- tests/Fieldtypes/ToggleTest.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/Fieldtypes/ToggleTest.php b/tests/Fieldtypes/ToggleTest.php index d9089020449..7798bcfaf42 100644 --- a/tests/Fieldtypes/ToggleTest.php +++ b/tests/Fieldtypes/ToggleTest.php @@ -28,4 +28,14 @@ public function it_processes_to_a_boolean_only_when_value_is_actually_set_or_sub $this->assertFalse($field->process(false)); $this->assertNull($field->process(null)); } + + #[Test] + public function queryable_value_is_a_boolean() + { + $field = (new Toggle)->setField(new Field('test', ['type' => 'toggle'])); + + $this->assertTrue($field->toQueryableValue(true)); + $this->assertFalse($field->toQueryableValue(false)); + $this->assertFalse($field->toQueryableValue(null)); + } }