From 939581e4949e9d7e172f1679a68fca150a0161fa Mon Sep 17 00:00:00 2001 From: Sam Hauglustaine Date: Thu, 26 Sep 2024 17:38:40 +0200 Subject: [PATCH] fix phpstan errors --- .../Timestampable/TimestampableBehavior.php | 22 ++++++++++++++++--- src/Propel/Runtime/Util/PropelDateTime.php | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Propel/Generator/Behavior/Timestampable/TimestampableBehavior.php b/src/Propel/Generator/Behavior/Timestampable/TimestampableBehavior.php index b5aca291e..f505a52c8 100644 --- a/src/Propel/Generator/Behavior/Timestampable/TimestampableBehavior.php +++ b/src/Propel/Generator/Behavior/Timestampable/TimestampableBehavior.php @@ -9,6 +9,7 @@ namespace Propel\Generator\Behavior\Timestampable; use Propel\Generator\Builder\Om\AbstractOMBuilder; +use Propel\Generator\Builder\Om\ObjectBuilder; use Propel\Generator\Model\Behavior; /** @@ -102,7 +103,12 @@ public function preUpdate(AbstractOMBuilder $builder): string { if ($this->withUpdatedAt()) { $updateColumn = $this->getTable()->getColumn($this->getParameter('update_column')); - $dateTimeClass = $builder->getDateTimeClass($updateColumn); + + $dateTimeClass = 'DateTime'; + + if ($builder instanceof ObjectBuilder) { + $dateTimeClass = $builder->getDateTimeClass($updateColumn); + } $valueSource = strtoupper($updateColumn->getType()) === 'INTEGER' ? 'time()' @@ -130,7 +136,12 @@ public function preInsert(AbstractOMBuilder $builder): string if ($this->withCreatedAt()) { $createColumn = $this->getTable()->getColumn($this->getParameter('create_column')); - $dateTimeClass = $builder->getDateTimeClass($createColumn); + + $dateTimeClass = 'DateTime'; + + if ($builder instanceof ObjectBuilder) { + $dateTimeClass = $builder->getDateTimeClass($createColumn); + } $script .= " \$highPrecisionCreate = PropelDateTime::createHighPrecision(\$mtime, '$dateTimeClass');"; @@ -146,7 +157,12 @@ public function preInsert(AbstractOMBuilder $builder): string if ($this->withUpdatedAt()) { $updateColumn = $this->getTable()->getColumn($this->getParameter('update_column')); - $dateTimeClass = $builder->getDateTimeClass($updateColumn); + + $dateTimeClass = 'DateTime'; + + if ($builder instanceof ObjectBuilder) { + $dateTimeClass = $builder->getDateTimeClass($updateColumn); + } $script .= " \$highPrecisionUpdate = PropelDateTime::createHighPrecision(\$mtime, '$dateTimeClass');"; diff --git a/src/Propel/Runtime/Util/PropelDateTime.php b/src/Propel/Runtime/Util/PropelDateTime.php index b551515d0..679d540b8 100644 --- a/src/Propel/Runtime/Util/PropelDateTime.php +++ b/src/Propel/Runtime/Util/PropelDateTime.php @@ -73,7 +73,7 @@ protected static function isTimestamp($value): bool * * @throws \InvalidArgumentException * - * @return mixed An instance of $dateTimeClass + * @return DateTimeInterface An instance of $dateTimeClass */ public static function createHighPrecision(?string $time = null, string $dateTimeClass = 'DateTime'): DateTimeInterface {