codeigniter
क्वेरी संरचना
खोज…
डेटा का चयन करना
निम्न कार्य आपको SQL चयन कथन बनाने की अनुमति देते हैं।
$this->db->get()
यह चयन क्वेरी चलाता है और परिणाम देता है। एक तालिका से सभी रिकॉर्ड प्राप्त करने के लिए स्वयं द्वारा उपयोग किया जा सकता है:
$query = $this->db->get('tablename'); // Produces: SELECT * FROM tablename
दूसरा और तीसरा पैरामीटर आपको एक सीमा निर्धारित करने और ऑफ़सेट क्लॉज़ करने में सक्षम बनाता है:
$query = $this->db->get('tablename', 10, 20);
// Executes: SELECT * FROM tablename LIMIT 20, 10
// (in MySQL. Other databases have slightly different syntax)
डेटा का चयन करना
शर्त के साथ डेटा का चयन करना
$query = $this->db->select('*')
->from('table_name')
->where('column_name', $value) // Condition
->get();
return $query->result();
कई शर्तों के साथ डेटा का चयन करना
$conditions = array('column_name_1' => $value_1, 'column_name_2' => $value_2);
$query = $this->db->select('*')
->from('table_name')
->where($conditions) // Conditions
->get();
return $query->result();
स्थिति और सीमा के साथ डेटा का चयन करें
$query = $this->db->select('*')
->from('table_name')
->where('column_name', $value) // Condition
->limit(10) // Maximum 10 rows
->get();
return $query->result();
स्थिति, अधिकतम पंक्तियों और अवरोही क्रम के साथ डेटा का चयन करें
$query = $this->db->select('*')
->from('table_name')
->where('column_name', $value) // Condition
->limit(10) // Maximum 10 rows
->order_by('id','DESC') // Order data descending
->get();
return $query->result();
दूसरे वैकल्पिक पैरामीटर के साथ डेटा का चयन करना
आमतौर पर हम CodeIgniter में select([$select = '*'[, $escape = NULL]])
में दूसरे पैरामीटर का उपयोग नहीं कर रहे हैं। यदि आप इसे FALSE पर सेट करते हैं, तो CodeIgniter आपके क्षेत्र या तालिका नामों की सुरक्षा करने का प्रयास नहीं करेगा।
निम्नलिखित उदाहरण में, हम sql क्वेरी का उपयोग करके इसे स्वरूपित करने के लिए डेटाटाइम प्रकार फ़ील्ड का चयन करने जा रहे हैं और इसे FALSE
सेट करते हैं (ऐसा करने से, हम CI को क्वेरी से बचने के लिए नहीं) बताने जा रहे हैं।
public function getUserInfo($id)
{
$this->db->select('BaseTbl.id, BaseTbl.name, DATE_FORMAT(BaseTbl.createdDtm, "%d-%m-%Y") AS createdDtm', FALSE); // FALSE is the second optional parameter
$this->db->from('tbl_users as BaseTbl');
$this->db->where('isDeleted', 0);
$this->db->where('BaseTbl.id', $id);
$query = $this->db->get();
return $query->result();
}
यदि हम इसे FALSE
सेट नहीं करते हैं, तो यह स्वचालित रूप से बच जाएगा और क्वेरी को तोड़ देगा।
क्वेरी बिल्डर का उपयोग करके तालिकाओं से जुड़ें
कभी-कभी हमें बदले में कुल डेटा प्राप्त करने के लिए कई तालिकाओं में शामिल होने की आवश्यकता होती है। यहाँ हम CodeIgniter क्वेरी बिल्डर / एक्टिव रिकॉर्ड्स का उपयोग करके इसे कैसे प्राप्त कर सकते हैं।
public function getStudentInfo($studentid){
$query = $this->db->select("st.id, st.name, st.class, mk.maths, mk.science")
->from("students as st")
->join("marks as mk", "mk.student_id = st.id", "inner")
->where("st.id", $studentId)
->get();
return $query->result();
}
यहां हम कई तालिकाओं में शामिल होने के लिए जॉइन () का उपयोग करते हैं और हम "आंतरिक", "बाएं", "दाएं" जैसे 3 पैरामीटर में शामिल हो सकते हैं।