這裏是我的代碼:學說ORM不更新實體
$data = $eManager->getRepository('Entity')->findOneBy(array('user_id' => $id));
$data->setUpdatedAt(new \DateTime());
$eManager->persist($data);
$eManager->flush();
這裏的事情,我知道:從DB返回
- 的$數據對象正確
- 的$數據對象返回正確格式化
- 我試過「合併」而不是「堅持」...沒有好
- setUpdatedAt方法的工作原理
- 我試過添加「$ eManager-> commit();」以及不好的
- 該代碼不會引發錯誤
- 我的實體在另一個方法中正在被正確創建。因此,實體類和數據庫連接正在工作
但它實際上並沒有堅持到數據庫。
我是新來的Zend/Doctrine/Apigility ...有什麼我需要檢查,以確保數據持續?所有的文件似乎指出這是所需的方法,但我不明白爲什麼它不堅持數據庫。
在刷新數據之前嘗試var_dump數據。你看到實際更新的價值? –
是的 - $數據對象實際上更新。 –
因爲對象已經被管理,所以你根本不需要'persist()'-call。但它不應該有任何傷害,但請嘗試查看symfony2分析器。在那裏你可以看到所有執行的查詢。也許這可以解決問題 –