首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend:定义带有NULL值的select选项以提交到INT MySQL字段的问题

Zend:定义带有NULL值的select选项以提交到INT MySQL字段的问题
EN

Stack Overflow用户
提问于 2014-07-09 12:00:45
回答 1查看 276关注 0票数 0

我有一个数据库字段定义为INT,允许NULL。提交给该字段的数据是由一个select表单元素生成的,该元素的值是使用addMultiOption和addMultiOptions组合定义的。

代码语言:javascript
复制
$selectData = $dataModel->getPairs();
$updateForm->getElement('type_id')->addMultiOption(NULL, '- Not Selected -');
$updateForm->getElement('type_id')->addMultiOptions($selectData);

问题是,我试图将NULL赋值给"- incorrect“选项在某个点被转换为空字符串,而MySQL抛出了一个错误,因为空字符串是一个不正确的整数值。

我如何修改它,使NULL作为NULL到达MySQL插入?

致以敬意,

尼克

编辑:见丹尼尔·加达夫斯基下面的回答。以下是最终结果。

代码语言:javascript
复制
$selectData = $dataModel->getPairs();
$updateForm->getElement('type_id')->addFilter(new Zend_Filter_Null());
$updateForm->getElement('type_id')->addMultiOption('', '- Not Selected -');
$updateForm->getElement('type_id')->addMultiOptions($selectData);

这允许将值NULL写入允许为NULL的MySQL整数字段。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-09 12:58:28

将Zend_Filter_Null添加到此字段:

代码语言:javascript
复制
$updateForm->getElement('type_id')->addFilter(new Zend_Filter_Null());

然后,只需使用$updateForm->getValue()从此表单检索数据,空字符串将被空值替换。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24653126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档