使用原則 2 擷取變更的實體欄位
使用 setter 修改實體的狀態時,了解哪些欄位已變更通常很有用。原則 2 提供了一種檢索此資訊的機制。
要取得已變更欄位的列表,請依照下列步驟操作:
1.取得工作單元
先擷取與實體管理器關聯的工作單元(UoW):
2。計算變更集
觸發託管實體的變更集計算:
3.擷取實體變更集
使用UoW 的getEntityChangeSet 方法可擷取所需實體所做的特定變更:
PreUpdate 偵聽器注意事項:
如果存取聽器中已變更的字段,請不要重新計算更改集,因為它們已經被計算過。只需直接檢索更改集即可。
警告:
此解決方案僅適用於 Doctrine 事件偵聽器,不應在此上下文之外使用。這樣做可能會擾亂 Doctrine 的正常行為。
以上是如何檢索原則 2 中更改的實體欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!