我有这个问题:
$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作为最后一个参数调用select方法,如此
$this->db->select("IF(predicts.predict_owner = votes.vote_user_id , IF(judges.judge_did_accept = 1 , True , False) , 'NotExists' ),'user_judgement'",false);
这将阻止CI添加`
$ this-> db-> select()接受可选的第二个参数。如果将其设置为FALSE,CodeIgniter将不会尝试使用反引号来保护您的字段或表名称。如果您需要复合选择语句,这非常有用。
PS:我看到你用第二个参数调用select作为“user_judgement”,我不确定应该做什么,这不是cay CI希望你使用Active Record