2016-02-29 50 views
1

我有這樣的:學說2刪除沒有任何影響

$this->getDI()['entityManager']->getConnection()->delete('flakk', array('profile_id' => 2)); 

這沒有任何影響,該記錄仍然存在。我錯過了什麼嗎?

+1

檢查方法的返回。它應該返回受影響的行數 – Matteo

+1

也許你應該添加'flush();'? – Wilt

回答

2

學說的操作不會被保存到數據庫中,直到您叫flush();

我建議,要求對堆棧溢出問題之前,做在使用學說的文件一定的閱讀,因爲這些東西都寫in the documents

這是認識到,只有不斷EntityManager#flush()導致執行對數據庫的寫操作非常重要。任何其他方法(如EntityManager#persist($entity)EntityManager#remove($entity))只會在沖洗期間通知UnitOfWork執行這些操作。 未致電EntityManager#flush()將導致在該請求丟失期間發生的所有更改。