2012-07-19 4 views
2
Kohana 3.2에서

당신이 ORM의 기능 '값을'덮어 쓰기, 다음과 같이 수행Kohana ORM NULL과 비어 있지 않은 문자열을 삽입

public function values(array $values, array $expected = NULL) {   

    if($values['a_column'] == "") $values['a_column'] = NULL; 

    return parent::values($values); 
} 

NULL 값은 빈 문자열로 변환됩니다 어쨌든, 내가 원하는 행동이 아닙니다. 해결 방법을 아는 사람이 있습니까? 설명서 나 웹에서 아무 것도 찾을 수 없습니다 ...

답변

4

나는 이것에 대한 해답을 발견했다.

public function filters() 
{ 
    return array(
    'initial_assessment_date' => array(
     array(function($value) { 
     return (!$value) ? NULL : $value; 
     }) 
    ) 
); 
} 
+0

좋아요! 내 경우에는 주위에서 일했는데, 나중에 알게되어 좋습니다! :) – Piero

1

나중에 ORM :: values는 array_key_exists를 사용하기 때문입니다. 값을 제거하려면 unset을 사용해야합니다.

+1

나는 그것에 대해 생각했다 및 반환하기는 ... – Piero

+0

부족 변경되지 않은 데시벨 값을 떠날 것이기 때문에 그것은 업데이 트에 만들 작동,하지만 - : 그냥과 같이, 모델의 필터를 사용 이 기능은 솔직히 나에게 놀랍습니다. –

관련 문제