typo3:如何获取新的持久化 extbase 条目的 tstamp 和 crdate

typo3: How to get tstamp and crdate of new persisted extbase entry

当持久化一个新对象时,我想获取该项目的 tstampcrdate。坚持后,我可以通过 object->getUid() 访问它的 uid,但 object->getCrdate() 导致空结果。

我试图用 findByUid(object->getUid()) 读取对象,但我只得到缓存结果为 null。

如何获得 tstampcrdate

因为 only UID and PID are added to objects 在它们持久化之后,任何其他自动生成的值都无法立即访问。

您唯一的选择是为自己获取一个 Extbase 持久性实例 Session,例如通过依赖注入,取消注册你的对象(否则你将只能检索这个实例)并使用你的存储库通过持久性再次检索你的对象:

$this->persistenceSession->unregisterObject($yourObject);
$yourObject = $this->yourObjectRepository->findByIdentifier($yourObject->getUid());

我记得我曾经在对象的模型中添加了crdate和tstamp。 (也许它们也必须添加到 TCA 中。)