Ale*_*ias 3 php kohana kohana-3 kohana-orm
我有两个模型,Product和Product_Methodology.在我的产品编辑视图中,我有一个选择表单字段,用于选择多种方法之一或无(第一个空选项).在我的products表中,我有一个INT(10) methodology_id属性,该属性使用从选择表单字段中选择的方法的id进行保存.一切正常,直到今天我必须对系统进行调整,因为现在选择方法可以是可选的.所以我更改了methodology_idproducts表的字段以允许NULL值并删除not_empty了模型上的验证规则.
问题是,现在当我保存模型选择空选项而不是预期时NULL,我得到一个0(零)值.
这有什么线索吗?非常感谢,如果不是那么清楚,请告诉我.
您使用什么形式输入来选择方法?是<select>吗?如果是这样,当没有选择方法时,选择选项的值可能设置为0,并与其他表单数据一起发送.
在这种情况下,我使用模型的filters()方法创建一个自定义过滤器,将值设置为NULL(如PHP处理它)empty(),如下所示:
public function filters()
{
return array(
'methodology_id' => array(
array('Filter::null', array(':value')),
),
);
}
Run Code Online (Sandbox Code Playgroud)
其中Filter是带有静态方法的helper类.喜欢...:
class Kohana_Filter {
public static function null($value)
{
return (empty($value) ? NULL : $value);
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 :)