diff options
-rw-r--r-- | lib/public/AppFramework/Db/Entity.php | 5 | ||||
-rw-r--r-- | tests/lib/AppFramework/Db/EntityTest.php | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/public/AppFramework/Db/Entity.php b/lib/public/AppFramework/Db/Entity.php index 1ae938f6e32..ab8a5f2c67c 100644 --- a/lib/public/AppFramework/Db/Entity.php +++ b/lib/public/AppFramework/Db/Entity.php @@ -70,9 +70,8 @@ abstract class Entity { $instance = new static(); foreach ($row as $key => $value) { - $prop = ucfirst($instance->columnToProperty($key)); - $setter = 'set' . $prop; - $instance->$setter($value); + $prop = $instance->columnToProperty($key); + $instance->setter($prop, [$value]); } $instance->resetUpdatedFields(); diff --git a/tests/lib/AppFramework/Db/EntityTest.php b/tests/lib/AppFramework/Db/EntityTest.php index d76a8ccfe06..d7e4c30375b 100644 --- a/tests/lib/AppFramework/Db/EntityTest.php +++ b/tests/lib/AppFramework/Db/EntityTest.php @@ -42,7 +42,6 @@ use PHPUnit\Framework\Constraint\IsType; * @method void setTrueOrFalse(bool $trueOrFalse) * @method bool getAnotherBool() * @method bool isAnotherBool() - * @method void setAnotherBool(bool $anotherBool) * @method string getLongText() * @method void setLongText(string $longText) */ @@ -62,6 +61,10 @@ class TestEntity extends Entity { $this->addType('longText', 'blob'); $this->name = $name; } + + public function setAnotherBool(bool $anotherBool): void { + parent::setAnotherBool($anotherBool); + } } @@ -86,12 +89,14 @@ class EntityTest extends \Test\TestCase { public function testFromRow() { $row = [ 'pre_name' => 'john', - 'email' => 'john@something.com' + 'email' => 'john@something.com', + 'another_bool' => 1, ]; $this->entity = TestEntity::fromRow($row); $this->assertEquals($row['pre_name'], $this->entity->getPreName()); $this->assertEquals($row['email'], $this->entity->getEmail()); + $this->assertEquals($row['another_bool'], $this->entity->getAnotherBool()); } |