我正在使用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);
...
这是数据库表:
答案 0 :(得分:1)
尝试将输入转换为float,然后再将其传递给insert:
$this->insert(array(
'someColumn' => (float) $the_value,
));
BTW不要忘记在表单中添加一个浮动验证器。