पूरा जवाब स्वीकार किए जाते हैं, आप अगले कोड बाद में क्वेरी निष्पादन का उपयोग कर सकते हैं।
\Propel::getConnection()->getLastExecutedQuery() // Returns fully qualified SQL
यह आप पूरी क्वेरी (चयन कॉलम और प्राप्त किए गए मापदंडों सहित) जो डेटाबेस के लिए भेजा गया था देखने के लिए अनुमति देता है।
युपीडी: (रूप ने उल्लेख किया @bbird)
यह आदेश नहीं होगा उत्पादन कुछ भी जब तक useDebug
true
है:
\Propel::getConnection()->useDebug(true);
UPD2: (अगर आप सिम्फोनी ढांचा उपयोग कर रहे हैं) का उल्लेख
एक और बात के लायक PropelORM + Symfony है।
यदि आपको एसक्यूएल का पता लगाने की आवश्यकता है तो लॉग का उपयोग करना संभव है। प्रोपेल के पास monolog चैनल है जिसे propel
कहा जाता है और प्रासंगिक चैनल (propel.DEBUG
) पर DEBUG
लॉग स्तर के साथ पूरी तरह से योग्य प्रश्न लॉग किए गए हैं।
प्रवेश करें/क्वेरी रिकॉर्ड इस तरह दिखता है:
[2016-10-04 17:00:46] propel.DEBUG: time: 0.000 sec | mem: 24.8 MB | connection: default | SELECT `id`, `username`, `email`, `last_login` FROM `users` WHERE `id` = 123 [] []
स्रोत
2014-10-17 11:00:52
तो सरल ... :) – twigmac
ध्यान दें कि आप ऊपर क्वेरी में विशिष्ट 'select' कॉलम नहीं मिलेगा - प्रोपेल करता है कि सही खोजने से पहले । इस प्रकार आपको कुछ ऐसा दिखना चाहिए: 'पुस्तक से चुनें जहां आईडी =: पी 1; ...: पी 1 => 25' – jakerella
@ जेकेरेला: क्या आप उस पर विस्तार कर सकते हैं? मुझे यकीन नहीं है कि यह स्पष्ट करता है कि आप जो सुझाव दे रहे हैं उसे कैसे करें। – halfer