Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कोडनिर्देशक को देखते हुए मॉडल फ़ंक्शन को कॉल करना

MVC या MVC को नहीं

पहली बात जो मुझे ध्यान रखनी चाहिए वह यह है कि PHP में शास्त्रीय MVC लिखना असंभव है . वास्तव में कोडइग्निटर या वाईआई जैसे एमवीसी जैसे PHP ढांचे एक प्रकार का एमवीपी जिसमें:

  • दृश्य निष्क्रिय है और मॉडल से अनजान है
  • प्रस्तुतकर्ता (नियंत्रक) मॉडल की स्थिति बदलता है, जानकारी पढ़ता है और उसे देखने के लिए भेजता है

क्रेडिट tereško

कोडइग्निटर दृष्टिकोण

हालांकि, विशेष रूप से कोडइग्निटर में, आपके पास 3 चरण हैं:

  • एक मॉडल बनाएं डेटाबेस के माध्यम से क्वेरी करने के लिए और डेटा वापस करने के लिए (एक सरणी या वस्तु के रूप में)
  • एक नियंत्रक बनाएं लोड करने के लिए और परिणाम प्राप्त करें मॉडल . से (मॉडल की एक विधि), और लौटाए गए डेटा को दृश्य में पास करें
  • एक दृश्य बनाएं और परिणाम को प्रतिध्वनित करने के लिए PHP लूप का उपयोग करें, HTML बनाएं।

सब को एक साथ लाना

उपरोक्त दृष्टिकोण को ध्यान में रखते हुए, आपको अपने मॉडल में डेटाबेस से परिणाम प्राप्त करने की आवश्यकता है:

एप्लिकेशन/मॉडल/उत्पाद.php

class Product extends CI_Model
{
    public function get_product($product_id)
    {
        $this->db->select('*')->from('products');
        $this->db->where('product_id', $product_id);
        $this->db->join('versions', 'versions.product_id = products.product_id');
        $query=$this->db->get();
        return $query->first_row('array');
    }
}

फिर नियंत्रक के भीतर परिणाम प्राप्त करें और पास करें:

एप्लिकेशन/नियंत्रक/उत्पाद.php

class Products extends CI_Controller
{
    public function view($product_id)
    {
        $this->load->model('product');
        // Fetch the result from the database
        $data['product'] = $this->product->get_product($product_id);
        // Pass the result to the view
        $this->load->view('product_view', $data);
    }
}

अंत में, सूची बनाने के लिए, दृश्य में दिए गए डेटा का उपयोग करें:

आवेदन/दृश्य/product_view.php

// Use $product to display the product.
print_r($product);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL श्रेणी में चयन करें

  2. यूटीएफ -8 में 3 से अधिक बाइट्स लेने वाले यूनिकोड वर्णों को कैसे फ़िल्टर (या प्रतिस्थापित) करें?

  3. mysql की तुलना में neo4j प्रदर्शन (इसे कैसे सुधारा जा सकता है?)

  4. डेटाबेस संसाधनों का उचित प्रबंधन:कर्सर और कनेक्शन

  5. नई प्रविष्टियाँ डेटाबेस बनाने के बजाय पंक्तियों को अद्यतन करना android