2013-04-11 4 views
27

क्या क्वेरी निष्पादन निम्न कोडिनेटर सक्रिय रिकॉर्ड स्टेटमेंट के get_where() खंड पर होता है?

$this->db->select('*'); 
    $q = $this->db->get_where('Contacts', array('id' => $contact_id)); 

    $sql = $this->db->last_query(); 

या ऐसा होता है एक बार आप result_array() कहते हैं?

और $this->db->last_query(); क्वेरी स्ट्रिंग प्राप्त करने में एक विश्वसनीय तरीका है। सभी तरह

$this->db->get('table_name'); 
$this->db->get_where('table_name',$array); 

तरीकों पाने पर

उत्तर

61

क्वेरी निष्पादन होता है जबकि last_query पिछले क्वेरी जो चलाया गया था

$this->db->last_query(); 

आप निष्पादन आप क्या करना होगा बिना क्वेरी स्ट्रिंग प्राप्त करना चाहते हैं शामिल इस। प्रणाली/डेटाबेस के लिए जाओ/DB_active_rec.php इन कार्यों से सार्वजनिक या संरक्षित कीवर्ड निकालें

public function _compile_select($select_override = FALSE) 
public function _reset_select() 

अब आप क्वेरी लिख सकते हैं और एक चर

$this->db->select('trans_id'); 
$this->db->from('myTable'); 
$this->db->where('code','B'); 
$subQuery = $this->db->_compile_select(); 

में प्राप्त कर सकते हैं अब क्वेरी रीसेट इसलिए यदि आप चाहते हैं एक और सवाल लिखने के लिए वस्तु को मंजूरी दे दी जाएगी।

$this->db->_reset_select(); 

और यह काम किया जाता है। चीयर्स !!! नोट: हालांकि इस तरह का उपयोग कर आप

$this->db->get('myTable') 

जो क्वेरी चलाता है के बजाय

$this->db->from('myTable') 

उपयोग करना चाहिए।

Take a look at this example

+0

आपका स्वागत है और कोई समस्या नहीं! वे सीआई के नए संस्करण में इन दो तरीकों (और कुछ अन्य डालने, अपडेट करने और हटाने आदि के लिए) जोड़ने जा रहे हैं, इसलिए हमें इसे हैक करना नहीं होगा। –

+0

@heheelshan यह सिर्फ मेरे जीवन को बचाया। क्या आपके पास कोई जानकारी है कि उन्होंने यह फ़ंक्शंस सुरक्षित क्यों किया? http://stackoverflow.com/questions/9232316/is-there-a- कार्यक्षमता-like-compile-select-or-get-compiled- चयन करें – motto

+0

कृपया '_' के साथ किसी भी विधि को कॉल न करें जिसका अर्थ है निजी पहुंच (बाहर से नहीं)। यह कोई समाधान नहीं है लेकिन बाद के अपडेट के साथ एक समस्या है (जब उन्होंने अपने तरीकों के लिए वास्तविक पहुंच स्तर जोड़े)। – Roland

संबंधित मुद्दे