질문
Q #11315
active record join 에서 정수형을 조건으로 넣으면 escape 처리가 되는 현상
터푸
2014-04-28 11:56:59
$this->db_slave->join('some_table as st','some_table > 0 and st.idx=st1.idx','left');
이런식의 쿼리를 작성하게 되면
실제 쿼리는
LEFT JOIN `some_table` AS st ON `st`.`idx` > `0` AND `st`.`idx`=`st1`.`idx`
이렇게 정수까지 escape 처리가 되어 쿼리 에러가 나옵니다.
(맞는 표현 : LEFT JOIN `some_table` AS st ON `st`.`idx` > 0 AND `st`.`idx`=`st1`.`idx`)
제가 해결한 방법은 조인문의 0 비교를
where('st.idx > 0',null,false) 조건절에 넣어서 임시로 이용하는데
이렇게 하다 보면 쿼리문 자체가 최적화 되기 힘든 부분도 있고 해서
실 서비스에 사용하기 꺼려 지는 부분이 있습니다.
위 부분에 대한 해결책 또는 다른 방법을 아시는 분 계실까요?