2011-08-19 14 views
5

> seleccionar() Tengo esta consulta:CodeIgniter registro activo, Añadir IF en - función

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

me sale error de sintaxis en

`'NotExists'`) 

Si me quedo la consulta directamente en el interior de la base de datos , funciona bien ...
¿Hay alguna manera de evitar que CI agregue el signo `automáticamente?

Gracias

+0

¿Qué eres pasando allí como un segundo parámetro? –

Respuesta

19

Usted puede llamar al método de selección con falsas como el último parámetro, como este

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

que evitará IC para añadir el `

De User Guide

$ this-> db-> select() acepta un segundo parámetro opcional. Si lo configura en FALSE, CodeIgniter no intentará proteger los nombres de su campo o tabla con palos de retroceso. Esto es útil si necesita una declaración de selección compuesta.

PD: Veo que llama a seleccionar con el segundo parámetro como "user_judgement", no estoy seguro de lo que debería estar haciendo, no es el cayo IC quiere que uses Active Record

+0

Realmente me ayuda. Muchas gracias. –

Cuestiones relacionadas