6
我有一堆實體,同時具有date_created和date_modified字段,我試圖讓這些字段在插入或更新時自動設置自己。 date_created僅在插入時設置,但在插入或更新時設置了date_modified。學說2 preUpdate事件 - 插入時未觸發?
我在我的實體類中有一個@PreUpdate批註的方法,但它似乎只在實體更新時才被調用。當插入新實體時不會調用它。該文檔說明有關preUpdate事件:
「preUpdate事件發生在對實體數據的數據庫更新操作之前」。
這是正確的行爲嗎?如果是這樣,在更新或插入之前調用方法的最佳方法是什麼?目前,如果我標記既@PreUpdate和@PrePersist的方法,然後它的工作原理,但我不知道這是否是最佳的:
/**
* @PreUpdate
* @PrePersist
*/
public function beforeSave()
{
if (!$this->getCreatedAt()) {
$this->setCreatedAt(new \DateTime());
}
$this->setModifiedAt(new \DateTime());
}
謝謝 - 我認爲創建2種方法,並且這樣做,但我可以住一個。我只是不確定preUpdate是否僅用於更新或者插入和更新。 – 2010-09-20 19:49:51