2011-08-27 2 views
0

Zend_db_table insert() 메소드를 사용하고 있으며 오류가 발생합니다. POST에서 문자열로 데이터를 받지만 테이블 열의 데이터 유형이 부동이므로 오류가 발생했습니다. 그래서 문자열 유형을 float 열에 삽입하려고하면 에러가 발생합니다.젠드 프레임 워크 - db_table - 저장된 데이터 유형이 잘못되었습니다.

이 문제를 해결하는 적절한 방법은 무엇입니까?

form table

+1

일부 예제 코드를 붙여 넣을 수 있습니까? – dinopmi

답변

1

을 전달하기 전에 떠 입력을 변환하십시오 : 여기

$form = new User_Form_Firstpart(); 
if ($form->isValid($request->getPost())){ 
    $data = $form->getValues(); 
    $formModel = new User_Model_Forms(); 
    $formModel->save($data); 

    ... 

데이터베이스 테이블의 : 여기
class User_Model_Forms extends Zend_Db_Table_Abstract { 
    public function save(array $data) { 
     return $this->insert($data); 
    } 
    ... 

컨트롤러 코드입니다 : 여기

모델 코드의 삽입 할 위치 :

$this->insert(array(
    'someColumn' => (float) $the_value, 
)); 

BTW 양식에 플로트 검사기를 추가하는 것을 잊지 마십시오.