Zend 框架 - db_table - 保存的数据类型错误
我正在使用 Zend_db_table insert() 方法并收到错误。该错误是因为我从 POST 接收数据作为字符串,但表列的数据类型是 float。因此,当我尝试将字符串类型插入浮点列时,它会产生错误。
解决这个问题的正确方法是什么?
这是模型代码:
class User_Model_Forms extends Zend_Db_Table_Abstract {
public function save(array $data) {
return $this->insert($data);
}
...
这是控制器代码:
$form = new User_Form_Firstpart();
if ( $form->isValid($request->getPost()) ){
$data = $form->getValues();
$formModel = new User_Model_Forms();
$formModel->save($data);
...
这是数据库表:
I'm using the Zend_db_table insert() method and get an error. The error is because I receiving data from POST as a string but the datatype for the table column is float. So it creates error when I try to insert string type into float column.
What's the proper way to resolve this?
Here's the model code:
class User_Model_Forms extends Zend_Db_Table_Abstract {
public function save(array $data) {
return $this->insert($data);
}
...
Here's the controller code:
$form = new User_Form_Firstpart();
if ( $form->isValid($request->getPost()) ){
$data = $form->getValues();
$formModel = new User_Model_Forms();
$formModel->save($data);
...
Here's the database table:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在将输入传递到插入之前尝试将输入转换为浮点型:
顺便说一句,不要忘记在表单中添加浮点型验证器。
Try converting the input to float before passing it to insert:
BTW don't forget to add a float validator to your form.