在保存实体之前,始终在Symfony中运行特定功能

时间:2013-06-04 11:52:38

标签: php symfony doctrine-orm annotations event-listener

我有一个与位置有一对多关系的公司实体。 (公司可以有多个地点)。

位置有一个布尔“isPrimaryLocation”。

在将位置保存(新建/编辑)到数据库之前,我总是希望检查以下逻辑:

强制执行如果公司有位置,则必须有一个isPrimaryLocation,最多一个位置是isPrimaryLocation。

所以我的问题:

  • 这可以通过 Doctrine Annotations 强制执行吗?
  • 这是我应该用 LifeCycleCallbacks 做的事情 PrePersist?
  • 这是我应该用自定义事件和a 事件监听

1 个答案:

答案 0 :(得分:1)

我会在prePersist事件上添加一个自定义EventListener。