2010-06-20 7 views
1

현재 "Appress Pro Zend Framework 기법, 전체 CMS 프로젝트 빌드"라는 책에서 Zend Framework를 배우고 있으며 버그를 제출 한 후 페이지가 있다고 가정합니다. 이 작업은 confirm 작업으로 리디렉션되지만이 리디렉션은 모델에 의해 throw 된 결과에 따라 달라 지므로 버그가 데이터베이스에 저장됩니다. 여기 Zend Framework : lastInsertId가 0을 반환합니다.

는 기록이 그러나 $ ID가 항상 탈출 할 리디렉션을 일으키는, 0을 반환, 데이터베이스에 저장됩니다

public function createBug($name, $email, $date, $url, $description, $priority, $status) { 
    // create a new rows in the bugs table 
    $row = $this->createRow(); 

    // set the row data 
    $row->author = $name; 
    $row->email = $email; 
    $dateObject = new Zend_Date($date); 
    $row->date = $dateObject -> get(Zend_Date::TIMESTAMP); 
    $row->url = $url; 
    $row->description = $description; 
    $row->priority = $priority; 
    $row->status = $status; 

    //Save the new row 
    $row->save(); 

    // now fetch the id of the row you just created and return it 
    $id = $this->_db->lastInsertId(); 
    return $id; 
} 

모델 버그의 코드입니다.

+1

'$ id'를'lastInsertId()'대신'$ row-> id'로 설정하면 어떻게됩니까? –

+0

@Mike B, 이것은 왜 당신이 대답으로 이것을 업로드하지 않았는가? – Starx

+0

오늘 아침부터 문제가 있습니다. 그러나 언급 한대로 코드를 대체하고 해결되었습니다. 고맙습니다. –

답변

6

lastInsertId() 대신 $id$row->id으로 설정해보십시오.

이 줄에있는 대부분의 ORM의 작업.

$id = $row->id; 
관련 문제