मैं किसी इकाई के मौजूदा संस्करण को पुनर्प्राप्त करने में सक्षम होना चाहता हूं ताकि मैं इसे नवीनतम संस्करण से तुलना कर सकूं। जैसे एक फाइल को संपादित करना, मैं जानना चाहता हूं कि डीबी में होने के बाद मूल्य बदल गया है या नहीं।सिम्फनी 2 में परिणाम कैशिंग से डॉक्टर 2 को कैसे रोकें?
$entityManager = $this->get('doctrine')->getEntityManager();
$postManager = $this->get('synth_knowledge_share.manager');
$repository = $entityManager->getRepository('KnowledgeShareBundle:Post');
$post = $repository->findOneById(1);
var_dump($post->getTitle()); // This would output "My Title"
$post->setTitle("Unpersisted new title");
$existingPost = $repository->findOneById(1); // Retrieve the old entity
var_dump($existingPost->getTitle()); // This would output "Unpersisted new title" instead of the expected "My Title"
क्या कोई जानता है कि मैं इस कैशिंग के आसपास कैसे जा सकता हूं?
स्वादिष्ट, 'अलग' एकदम सही है। –
इसके लिए धन्यवाद। त्वरित युक्ति - यदि आपको सभी इकाइयों को अलग करने की आवश्यकता है (उदाहरण के लिए गैर-इन्सुलेटेड परीक्षणों में), तो आप '$ इकाई प्रबंधक-> साफ़()' का उपयोग कर सकते हैं। – richsage
दूसरी बात यह देखने के लिए है कि क्या आपके पास लेनदेन खुला है या नहीं। यदि आपने '$ इकाई प्रबंधक-> प्रारंभ ट्रांज़ेक्शन() 'किया है, तो सुनिश्चित करें कि आप इकाई प्रबंधक को साफ़ करने का प्रयास करने से पहले लेनदेन बंद करें (उदा।' इकाई इकाई प्रबंधक-> रोलबैक() ')। एक खुला लेनदेन एक संगत, इसलिए अद्यतन नहीं किया जाएगा, डेटाबेस के दृश्य। – stanhope