CI 묻고 답하기

제목 엑티브 레코드 질문이요
카테고리 CI 2, 3
글쓴이 열공모드 작성시각 2017/05/09 14:31:39
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 14497   RSS
$set = array("value" => "DATE_FORMAT(NOW(), '%Y-%m-%d')");
$where = array("seq" => 1);
$this->db->where($where);
$this->db->set($set ,false);
$this->db->update("table");

이런식으로 데이터를 넣을려고 합니다. 

value 라는 컬럼이 데이터 타입이 varchar 타입이라 날짜 데이터가 들어가는 것이 아니라 

문자 그대로 들어가네요 

이런 경우는 어떻게 해야 하나요?? 

 

 

 다음글 remap 사용시 스크립트 호출 방법 (6)
 이전글 CI의 model, php파일로 하는 것과 requir... (1)

댓글

개락 / 2017/05/09 15:14:56 / 추천 0
"DATE_FORMAT(NOW(), '%Y-%m-%d')" 를 DATE_FORMAT(NOW(), '%Y-%m-%d') 로 하시면 ^^;

아니면 요롷게 넣으셔도 되지 않을까 싶네용...

gmdate('Y-m-d', time())

ㄹㅇㄴㄹㅇㄴ

열공모드 / 2017/05/09 16:58:02 / 추천 0

//개락 

답변 감사합니다. 

첫번째 경우는 에러가 발생하네요 

두번째 같은 경우는 지금 같은 경우야 php 로 넣어도 되긴 한데

나중에 db 내에서 처리 해야 하는 경우가 있어서 그걸 알고 싶었던거였는데 제가 설명이 미흡햇었네요 

 

개락 / 2017/05/09 17:13:30 / 추천 0

제가 PHP 초보라 단순한 문제로 인식하고 주제넘게 말씀드렸네요..^^;

즐거운 하루 되세요..^^

곰멍 / 2017/05/09 18:50:06 / 추천 0

혹시 이렇게 했을때 되나 테스트해보시겠어요?

set 메소드 2번째 매개변수가 값을 받아서 그런듯한데...

$this->db->set($set, '', false);

열공모드 / 2017/05/10 08:22:03 / 추천 0

// 곰멍 

답변 감사합니다. 

$this->db->set($set,null,false);

$this->db->set($set,'',false); 

이 두가지 방식 다 동작을 하네요 

api 를 제대로 살펴보지 않은 제 잘못이네요 

감사합니다.