From ea869c7b15ade4fb13a6f5fb4ec00c3280f2e551 Mon Sep 17 00:00:00 2001 From: Gregor Harlan Date: Sat, 26 Nov 2016 01:44:15 +0100 Subject: [PATCH] array columns getter: return correct value for `[0]` (#1302) --- src/Propel/Generator/Builder/Om/ObjectBuilder.php | 2 +- .../Builder/Om/GeneratedObjectArrayColumnTypeTest.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Propel/Generator/Builder/Om/ObjectBuilder.php b/src/Propel/Generator/Builder/Om/ObjectBuilder.php index 0f71a9cef7..45a62e0701 100644 --- a/src/Propel/Generator/Builder/Om/ObjectBuilder.php +++ b/src/Propel/Generator/Builder/Om/ObjectBuilder.php @@ -1002,7 +1002,7 @@ protected function addArrayAccessorBody(&$script, Column $column) } if (!\$this->$cloUnserialized && null !== \$this->$clo) { \$$cloUnserialized = substr(\$this->$clo, 2, -2); - \$this->$cloUnserialized = \$$cloUnserialized ? explode(' | ', \$$cloUnserialized) : array(); + \$this->$cloUnserialized = '' !== \$$cloUnserialized ? explode(' | ', \$$cloUnserialized) : array(); } return \$this->$cloUnserialized;"; diff --git a/tests/Propel/Tests/Generator/Builder/Om/GeneratedObjectArrayColumnTypeTest.php b/tests/Propel/Tests/Generator/Builder/Om/GeneratedObjectArrayColumnTypeTest.php index 738074c166..8ae666069f 100644 --- a/tests/Propel/Tests/Generator/Builder/Om/GeneratedObjectArrayColumnTypeTest.php +++ b/tests/Propel/Tests/Generator/Builder/Om/GeneratedObjectArrayColumnTypeTest.php @@ -126,6 +126,14 @@ public function testSetterArrayValue() $this->assertEquals($value, $e->getTags(), 'array columns can store arrays'); } + public function testGetterForArrayWithOnlyOneZeroValue() + { + $e = new ComplexColumnTypeEntity2(); + $value = [0]; + $e->setTags($value); + $this->assertEquals($value, $e->getTags()); + } + public function testSetterResetValue() { $e = new ComplexColumnTypeEntity2();