2017-06-14 42 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;以获得您的结果。