2017-06-14 74 views
-2

嗨,大家好,我試圖在Codeigniter上使用變量方程,就像我在下面寫的代碼中一樣,我的代碼寫入是否正確?這是我的代碼,到目前爲止,我想在我的控制器使用變量$量解決!在Codeiginiter中使用方程式變量

在控制器

$amount = $this->m_data->getTotalSales->$data['TOTAL_SALES']; 

,這在型號

//GET TOTAL REVENUE 
function getTotalSales(){ 
$this->db->select("(SELECT SUM(grand_total) FROM sales_order WHERE member = ".$this->session->userdata('ID').") - (SELECT SUM(amount) FROM payment WHERE member_id = ".$this->session->userdata('ID').") AS total_sales"); 

$query = $this->db->get(); 
    if ($query->num_rows() >0){ 
     foreach ($query->result() as $data) { 

      $hasilSemua[] = $data; 
     } 
    return $hasilSemua; 
    } 
} 
+0

不正確bro –

+0

部分不正確? –

+0

你想要計算結果嗎? –

回答

0
$amount = $this->m_data->getTotalSales(); 

function getTotalSales(){ 

     $result1 = $this->db->select_sum("grand_total") 
          ->from('sales_order') 
          ->where("member = $this->session->userdata('ID')"); 
          ->get(); 


     $result2 = $this->db->select_sum("amount") 
          ->from('payment') 
          ->where("member_id = $this->session->userdata('ID')") 
          ->get();  

     return $result1->row()-$result2->row(); 
    } 
} 
+0

我想使用結果「total_sales」查詢,我在模型 –

+0

由於他們工作:)並且有意義 –

0

我相信這是你所追求的。請注意,我將用戶ID作爲第二個參數傳遞給WHERE函數。這是在用戶有任何輸入它的機會的情況下(無論如何總是這樣做)。

//GET TOTAL REVENUE 
function getTotalSales(){ 
$db = $this->db; 

    $db->select('SUM(grand_total)'); 
    $db->where('member',$this->session->userdata('ID')); 
    $q1 = $db->get_compiled_select('sales_order'); 

    $db->select('SUM(amount)'); 
    $db->where('member_id',$this->session->userdata('ID')); 
    $q2 = $db->get_compiled_select('payment'); 

    $query = $db->query("SELECT ($q1) - ($q2) as total_sales"); 
    $data = $query->row_array(); 

return $data['total_sales']; 
} 

然後,您可以致電$amount = $this->m_data->getTotalSales;以獲得您的結果。