Browse Source

Allow NULL in boolean types.

BOOLEAN columns can be nullable, so we should allow that state.

Refs #7583
mark_story 10 years ago
parent
commit
0f6c391104
2 changed files with 2 additions and 1 deletions
  1. 1 1
      src/Database/Type/BoolType.php
  2. 1 0
      tests/TestCase/Database/TypeTest.php

+ 1 - 1
src/Database/Type/BoolType.php

@@ -36,7 +36,7 @@ class BoolType extends Type
      */
     public function toDatabase($value, Driver $driver)
     {
-        if ($value === true || $value === false) {
+        if ($value === true || $value === false || $value === null) {
             return $value;
         }
 

+ 1 - 0
tests/TestCase/Database/TypeTest.php

@@ -272,6 +272,7 @@ class TypeTest extends TestCase
         $type = Type::build('boolean');
         $driver = $this->getMock('\Cake\Database\Driver');
 
+        $this->assertNull($type->toDatabase(null, $driver));
         $this->assertTrue($type->toDatabase(true, $driver));
         $this->assertFalse($type->toDatabase(false, $driver));
         $this->assertTrue($type->toDatabase(1, $driver));