問題描述: 我在實體類中生成一個文件,並想將文件名保存到數據庫中。控制器不知道這個(wheter或不是文件名發生了變化,所以它不是實際的從控制器持續。Symfony2/Doctrine:如何從實體類中堅持一個實體?
是否有實體的堅持自己的方法嗎?的
比如我使用: 實體類用於圖庫中的圖像,我總是保留原始文件並使用該文件的緩存版本,當圖像發生更改(例如旋轉)時,緩存的版本將被刪除。版本在其他情況下也會被刪除,當需要這個文件時,我會檢查緩存文件是否存在,否則會從存檔的圖像中重新生成一個新的文件名我需要一個新的文件名,因爲這會重置緩存中的各種縮略圖si ZES。
當我生成該新文件時,我必須以某種方式將其文件名保存到數據庫。因爲它只是在實體中決定何時重新生成映像,所以如果實體可以堅持自己到數據庫中,這將是切實可行的,但是我還沒有找到解決方案。
有沒有辦法做到這一點或有一個完全不同的概念,我應該用來重新生成圖像文件?
不要問題。你只堅持實體一次,然後你與一個主體爲你創造的實體一起工作。如果你有一個具有兩個字段[orig_filename,cached_filename]的實體,並且該實體由doctrine管理,那麼當你更改任何屬性時,它將自動更新flush()上的數據庫。 – meze