Implement Carbon

This commit is contained in:
Greyscale 2020-08-27 04:52:05 +02:00
parent 86a486d4ad
commit 034801dcaa
4 changed files with 8 additions and 4 deletions

View file

@ -18,7 +18,8 @@
"twig/twig": "^2.11",
"gone.io/twig-extension-transform": "^1.0",
"gone.io/twig-extension-inflection": "^1.0",
"gone.io/uuid": "^2.3"
"gone.io/uuid": "^2.3",
"nesbot/carbon": "^2.0"
},
"require-dev": {
"benzine/core": "dev-master",

View file

@ -4,6 +4,7 @@ namespace Benzine\ORM\Components;
use Benzine\ORM\Exception\DBTypeNotTranslatedException;
use Benzine\ORM\Laminator;
use Carbon\Carbon as DateTime;
class Column extends Entity
{
@ -303,7 +304,7 @@ class Column extends Entity
break;
case 'timestamp': // MySQL
case 'datetime': // MySQL
$this->setPhpType('\\'.\DateTime::class);
$this->setPhpType('\\'.DateTime::class);
break;
default:

View file

@ -10,6 +10,7 @@ use Psr\Container\NotFoundExceptionInterface;
use Benzine\ORM\Abstracts\Model as AbstractModel;
use Benzine\ORM\Interfaces\ModelInterface as ModelInterface;
use Benzine\App as App;
use Carbon\Carbon as DateTime;
{% include '_overwrite_warning.twig' %}
{% set existingMethods = [] %}
@ -404,7 +405,7 @@ abstract class Base{{ class_name }}Model extends AbstractModel implements ModelI
{% if column.getDbType == 'timestamp' %}
->set{{ column.getPropertyFunction }}(
${{ column.getDbField() }} !== null
? \DateTime::createFromFormat("Y-m-d H:i:s", ${{ column.getDbField() }})
? DateTime::createFromFormat("Y-m-d H:i:s", ${{ column.getDbField() }})
: null
)
{% else %}

View file

@ -9,6 +9,7 @@ use Benzine\ORM\Tests\Models\UsersModel;
use Benzine\ORM\Tests\Services\UsersService;
use Benzine\ORM\Tests\TableGateways;
use Benzine\ORM\Tests\TableGateways\UsersTableGateway;
use Carbon\Carbon;
use Gone\UUID\UUID;
use Benzine\Tests\BaseTestCase;
@ -43,7 +44,7 @@ class DateTimeFieldsTest extends BaseTestCase
$user->setName("Matthew Baggett");
$user->setEmail("matthew@baggett.me");
$dateTime = new \DateTime();
$dateTime = new Carbon();
$dateTime->setDate(1990, 06,01);
$dateTime->setTime(04,00,00);
$user->setCreated($dateTime);