sql >> データベース >  >> RDS >> Mysql

ビューcodeigniterでモデル関数を呼び出す

    MVCまたはMVCではない

    最初に注意する必要があるのは、 PHPで従来のMVCを作成することはできません 。実際、CodeIgniterやYiiなどのMVCのようなPHPフレームワークは、一種のMVP その中で:

    • ビューは受動的でモデルを認識していません
    • プレゼンター(コントローラー)はモデルの状態を変更し、情報を読み取り、それをビューに渡します

    tereško へのクレジット

    CodeIgniterアプローチ

    ただし、特にCodeIgniterでは、次の3つのステップがあります。

    • モデルを作成します データベースを介してクエリを実行し、データを(配列またはオブジェクトとして)返すには
    • コントローラーを作成します ロード 結果を取得 モデルから (モデルのメソッド)、返されたデータをビューに渡します
    • ビューを作成します PHPループを使用して結果をエコーし​​、HTMLを作成します。

    すべてをまとめる

    上記のアプローチを考慮すると、モデルのデータベースから結果をフェッチする必要があります。

    application / models / product.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');
        }
    }
    

    次に、結果をフェッチしてコントローラー内に渡します:

    application / controllers / products.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);
        }
    }
    

    最後に、ビューで返されたデータを使用して、リストを生成します。

    application / views / product_view.php

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


    1. テーブルをあるスキーマから別のスキーマに移動しますか?

    2. MYSQL:名前からplayer_idを見つける方法は?

    3. 翻訳のためのMySQL構造

    4. pdoはワイルドカードを使用してステートメントを準備しました