2016-06-12 57 views
-1

我試圖在表中選擇一個字段「原因」,但我必須在表'customer_complaint'中獲取字段'reason'這些表。codeigniter中的查詢

這是我的模型:

function reason(){ 
    $reason = $this->db->select("*")->from('reason')->join('customer_complaint','customer_complaint.reason=reasons.reason_id')->get(); 
    return $reason->results(); 
} 

,並即時得到屏幕上的這個錯誤:

數據庫出錯

錯誤編號:1146

表「投訴.reason'不存在

"SELECT * FROM `reason` JOIN `customer_complaint` ON `customer_complaint`.`reason`=`reasons`.`reason_id`" 

該查詢在MySQL工作臺上正常工作,但我認爲即時通訊錯誤,因爲框架省略'customer_'。

謝謝你們提前。

回答

1

有幾個錯誤,我可以看到

首先表reason你提到的兩種形式,1 reason,2 reasons

讓拼寫正確的第一位。

其次使用results()方法這是不對的,應該result()

所以,如果你的表名是reasons然後將查詢應該是如下

public function reason(){ 
    $reason = $this->db->select('*')->from('reasons')->join('customer_complaint','customer_complaint.reason = reasons.reason_id')->get(); 
    return $reason->result(); 
} 

現在嘗試

+1

是的,你知道這是錯誤,謝謝! – Saul

0

你必須使用return $ reason-> result。數據庫名稱是投訴?表ne

+0

名稱是理由嗎? –