2017-09-28 2 views
0

おはよう!Codeigniter:コントローラの下の配列から特定の値を抽出する

これはかなり基本的なものです。

は私のコントローラ上でこのコードを持っている:

$data["sales_info"] = $this->The_model->get_sales_info(SELECT * FROM sales WHERE sales_id = 123); 

そしてget_sales_infoを()The_model格納された配列に特異的な販売情報下方法。

今、私はコントローラから、私は$ data ["sales_info"]から抽出し、 'sales_date'の値だけをエコーし​​たいと思います。

どうすればいいですか?

ありがとうございました!

答えて

2

あなたの問題のため、この解決策を試すことができます。

変更モデルファイルをへ:

The_model.php

class The_model extends MY_Model { 
    function get_sales_info($sales_id){ 
     $this->db->select("*.*"); 
     if(!empty($sales_id)){ 
      $this->db->where('sales_id', $sales_id); 
      $query = $this->db->get('sales'); 
      return $query->row(); 
     } else { 
      $query = $this->db->get('sales'); 
      return $query->result(); 
     } 
    } 
} 

とするコントローラファイルを変更します。

My_contr oller.php

$sales_id = 123; 
$sales_info = $this->The_model->get_sales_info($sales_id); 
echo $sales_info['sales_date'];exit; //how to get value from object 

おかげ

+0

おかげで動作しません!出来た! Aaand、question .. $ sales_info ['any_column']を使って他のデータをエコーすることはできますか? =) – Jorz

+0

はい、 'get_sales_info'関数の戻り値から任意の列を取得できます。 –

+1

私はなぜ終了したのかわかりません – user4419336

2

このコードは、ベストプラクティスとしてメソッドにSQLを記述することはできません、あなたは

$sales_info = $this->The_model->get_sales_info(SELECT * FROM sales WHERE sales_id = 123); 
$data['sales_data'] = $sales_info['sales_date']; 
+0

は先生に – Jorz

1
$query = $this->db->get_where('sales', array('sales_id' => 123)); 

それはこのようにする必要があり役立つかもしれません。

関連する問題