Kohana ORM插入NULL而不是空字符串

Pie*_*rre 3 php mysql kohana kohana-orm kohana-3.2

在 Kohana 3.2 中,当您覆盖 ORM 的函数“值”时,然后执行以下操作:

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

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

  return parent::values($values);
}
Run Code Online (Sandbox Code Playgroud)

无论如何,NULL 值将转换为空字符串,这不是我想要的行为。有人知道解决方法吗?我在文档或网络上找不到任何内容...

Dan*_*erd 5

我发现了这个问题的答案。只需在您的模型中使用过滤器,如下所示:-

public function filters()
{
  return array(
    'initial_assessment_date' => array(
      array(function($value) {
        return (!$value) ? NULL : $value;
      })
    )
  );
}
Run Code Online (Sandbox Code Playgroud)