我推动了实现preSave方法的类。这是一个钩子,其中某些字段可以在每次保存操作时自动更新。这是为了保存上次更新的日期和上次更新的用户所必需的。
问题是模型类无法访问服务容器,我可以在其中获取用户ID(设置为上次更新用户字段)。模型类不能(在我的知识中)被声明为服务,因为它们是一种实体,由推进本身而不是服务容器实现。
我看到的唯一解决方案是拥有一个真实的"持有用户对象的单例(带有静态实例),我会在应用程序的引导过程中实例化,然后任何模型类都可以访问它。
有更好的主意吗?
答案 0 :(得分:0)
对于任何具有相同推进力的人,给定的捆绑包只会将EventDispatchor行为添加到Propel,这意味着您可以像Symfony一样管理推进事件,但它与Symfony容器分开(它接缝使用它)它拥有容器)。
但是glorpen / propel-bundle正在很好地完成这项工作,你可以使用简单的标签来定义听Propel事件的服务。