2011-08-19 11 views
5

を:CodeIgniterのアクティブなレコード、IF文の追加 - 私はこのクエリを持っている>を選択し()関数

$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

あなたはどのようなものを使用したいと考えていないですそこに第2のパラメータとして渡しますか? –

答えて

19

あなたがUser Guide

から `

を追加するためにCIを防ぐことができます。この

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

のように、最後のパラメータとしてFALSEでselectメソッドを呼び出すことができます

$ this-> db-> select()はオプションの第2パラメータを受け入れます。 FALSEに設定すると、CodeIgniterはフィールドまたはテーブル名をバックティックで保護しようとしません。これは、複合select文が必要な場合に便利です。

PS:私はあなたが「user_judgement」として第2のparamを選択し呼び出す参照、私はそれをやるべきかわからないんだけど、ケイのCIを使用すると、Active Recordの

+0

本当に助けになります。どうもありがとう。 –

関連する問題