Files
oficial/app/common/Implement/Repository/Mapper/DateTime.php
Juan Pablo Vial 5054d8f19b FIX: casos en que PDO::execute retorna falso, pero sin tirar PDOException
DateTime con parametro pasado DateTime
Model::jsonComplement
2025-03-04 11:53:14 -03:00

30 lines
852 B
PHP

<?php
namespace Incoviba\Common\Implement\Repository\Mapper;
use DateTimeImmutable;
use DateMalformedStringException;
use Incoviba\Common\Implement\Repository\Mapper;
class DateTime extends Mapper
{
public function __construct(string $column, ?string $property = null)
{
$this->setFunction(function($data) use ($column) {
if (!isset($data[$column])) {
return null;
}
if (is_a($data[$column], DateTimeImmutable::class)) {
return $data[$column];
}
try {
return new DateTimeImmutable($data[$column] ?? '');
} catch (DateMalformedStringException) {
return new DateTimeImmutable();
}
});
if ($property !== null) {
$this->setProperty($property);
}
}
}