2011-08-19 53 views
5

我有這個疑問:笨活動記錄,添加IF在聲明 - > select()函數

$this->db->select(" 
    IF(predicts.predict_owner = votes.vote_user_id , IF(judges.judge_did_accept = 1 , True , False) , 'NotExists')" , 'user_judgement'); 

我得到語法錯誤的

`'NotExists'`) 

如果我直接運行在數據庫內查詢,它工作正常...
有什麼辦法可以防止CI添加符號`自動?

感謝

+0

你有什麼礁作爲第二個參數傳遞給那裏? –

回答

19

您可以致電與FALSE作爲最後一個參數的選擇方法,這樣

$this->db->select("IF(predicts.predict_owner = votes.vote_user_id , IF(judges.judge_did_accept = 1 , True , False) , 'NotExists'),'user_judgement'",false); 

這將防止CI添加`

User Guide

$ this-> db-> select()接受可選的第二個參數。如果將其設置爲FALSE,則CodeIgniter不會嘗試使用反引號來保護字段或表名。如果您需要複合選擇語句,這很有用。

PS:我看你打電話與第二PARAM爲「user_judgement」選擇,我不知道什麼是應該做的,這不是CI希望你使用活動記錄

+0

這真的幫助我。非常感謝。 –