在我的環境中的幾個關鍵注意事項:學說2 - 無法訪問新創建的記錄(教義外)
- 我有一個建立在WordPress的一個應用程序,我們使用學說作爲我們的ORM。
- 爲了保持WP的完整性,我們讓WP處理用戶的創建
- 每個WP對象和自定義對象都通過Doctrine正確映射。
的情況是:
// 1. Create a user via **WP** function (which returns ID)
$wp_user_id = wp_insert_user($wp_user_array);
// 2. Then, I need to immediately retrieve that user object via Doctrine
$wp_user = $MyDb->em->getRepository('WpUsers')->findOneBy(array('id'=>$wp_user_id));
// 3. RESULT = NULL
對象沒有找到,可能是因爲實體緩存或教訓存儲在內存中的某個地方。
我該如何強制Doctrine去查看數據庫並獲得這個新創建的用戶?
感謝您的快速響應,但是當我在嘗試檢索記錄之前添加'$ MyDb-> em-> clear();'時,仍然找不到它們。我知道它在數據庫中(通過調試看到),Doctrine無法訪問它。 **我是否正確地清除它?** – nathanbirrell
只是爲了更正 - 在你的問題中,你有'$ MyDb-> em..',但現在有'$ TilDb-> em ...'。 Clear方法實際上是從存儲庫中分離出所有對象。還有一個想法。是教條和wordpress使用相同的連接?如果沒有,你可以嘗試在wordpress連接插入後在純粹的教條連接查詢? –
是的名稱更改只是爲了使問題更通用。 WP和Doctrine使用相同的數據庫。我寧願避免通過DQL請求它,因爲我不確定這會返回一個對象嗎? – nathanbirrell