【发布时间】:2025-12-14 11:30:01
【问题描述】:
使用 Symfon2.0 和 Doctrine,我正在尝试执行以下操作:
- 在数据库中插入新行
- 在插入的瞬间,自动生成代码,同时插入。
- 该代码与表的 ID 有关。类似
<something>/row_id
我怎样才能轻松做到这一点?
我一直在尝试 Doctrine Livecycle 回调。但是:
- PrePersist 仍然没有 ID。
- PostPersist 有 ID,但不知何故插入已经完成,虽然我可以设置实体的任何属性,但我不知道如何使其“再次”持久保存到数据库中。
那边有什么线索吗?
还有其他方法可以正确地做到这一点吗?
【问题讨论】:
-
问题是:如果你在 PostPersist 中做某事并再次坚持,你会得到另一个 PostPersist...infinitum。数据库触发器很丑,但它们可以工作。
-
作为一种变通方法,他只能在实体属性仍然为空的情况下更新它的值。
标签: php database symfony callback doctrine