2015-12-09 115 views
1

我試圖傳遞一個模型參數,它從控制器傳入。所以在URL中,如果我輸入url www.foobar.com/report/ecomma/ford('report'是控制器名稱,'ecomma'函數'ford'參數),我期待控制器通過模型,模型應該執行sql使用傳入的參數進行查詢,LIKE "%$brand%"";CodeIgniter:發送傳遞參數到模型

我有以下的控制器(稱爲報告):

public function ecomma($brand){ 
     $this->load->model('report_model'); 
     $data ['query'] = $this->report_model->generate_brand_data_report($brand); 
     $this->load->view('brand_report_view',$data); 
    } 
} 

與控制器關聯的模型是在這裏:

public function generate_brand_data_report($brand = ''){ 
$sql = "SELECT 
    DISTINCT pd_model_code AS `Model_SKU`, 
      pd_model_description AS `Model_Title` 
    FROM iris_product_data 
    WHERE pd_vendor LIKE "%$brand%""; 

$query = $this->db->query($sql); 
return $query->result(); 

} 

參數不是然而,在過去,任何人都可以看到的問題這裏?

+0

你可以檢查網址是否首先重新回到這個功能?還檢查該變量的值? – Torrezzzz

回答

1

你不能使用雙引號內的雙引號,您可以使用單或雙這樣的:

$sql = "SELECT 
DISTINCT pd_model_code AS `Model_SKU`, 
     pd_model_description AS `Model_Title` 
FROM iris_product_data 
WHERE pd_vendor LIKE \"%$brand%\""; 

$sql = "SELECT 
DISTINCT pd_model_code AS `Model_SKU`, 
     pd_model_description AS `Model_Title` 
FROM iris_product_data 
WHERE pd_vendor LIKE '%$brand%'"; 
+0

謝謝你,我沒有發現錯誤,並認爲問題在於我如何處理Code Igniter中的某些內容,這只是我用CI開發的第二天! –

2

在活動記錄,你可以寫你的查詢作爲

$this->db->distinct('pd_model_code AS Model_SKU'); 
$this->db->select('pd_model_description AS `Model_Title`'); 
$this->db->like('pd_vendor',$brand); 
$query=$this->db->get('iris_product_data'); 
相關問題