ORM a definice typu DateTime

Michwuanquana
Člen | 22
+
0
-

Zdravím,

pokouším se definovat typ v ORM entitě:

	//..

	#[ORM\Column(type: "datetime", nullable: TRUE)]
	private DateTime $lastLoggedAt;

	//..

ale vyhazuje chybu
Cannot assign DateTime to property App\Model\Database\Entity\User::$lastLoggedAt of type Nette\Utils\DateTime

Pokud definuji build-in typ \DateTime, tak to funguje. Nevíte, jak to vyřešit?

Editoval Michwuanquana (3. 5. 2022 7:35)

Pepino
Člen | 257
+
0
-

@Michwuanquana řekl bych, že to je tím, že doctrine nezná Nette\Utils\DateTime. Řešení může být napsat si vlastní typ sloupce, který bude používat právě Nette\Utils\DateTimehttps://www.doctrine-project.org/…g-types.html

Nezapomeň pak zaregistrovat v neonu

nettrine.dbal:
	connection:
		types:
			nette_datetime: App\Model\ORM\Types\NetteDateTime

a změnit typ sloupce na nette_datetime

#[ORM\Column(type: "nette_datetime", nullable: TRUE)]
petr.pavel
Člen | 535
+
+1
-

Proč potřebuješ, aby v entitě bylo \Nette\Utils\DateTime a ne \DateTime? Chápal bych, kdybys tam chtěl \DateTimeImmutable ;-)