2011-12-07 1 views
1

젠드 프레임 워크에서 마지막 삽입 UUID를 가져 오는 방법은 무엇입니까?Zend Framework에서 마지막으로 삽입 한 UUID를 얻는 방법?

$personTable = new My_Model_DbTable_Person() 
$addressTable = new My_Model_DbTable_Address() 

$personId = $personTable->insert(array(
    "name" => "John", 
    "familyname" => "Doe", 
)); 

$addressTable->insert(array(
    "person_id" => $personId, 
    "street" => "Some Street", 
    "city" => "Gotham City", 
)); 

가있다 : 당신이 "테이블"을 사용하는 경우

답변

1

Zend_Db_Table_Abstract::insert -method를 호출 할 때 자동으로 반환 된 후 생성 된 키를 사용하여 마지막으로 삽입 기본 키을 (즉, 당신의 클래스가 Zend_Db_Table_Abstract를 확장을 의미) 젠드 참조 메서드에 대한 자세한 내용 Zend_Db_Table

을 직접 사용하는 경우 Zend_DB::factory을 사용하여 인스턴스화하거나 appl를 사용하여 데이터베이스를 인스턴스화하십시오. 어플리케이션 자원)보다 유연한 방법 인 Zend_Db_Adapter_Abstract::lastInsertId이 있습니다. 자세한 내용은 Zend 참조 Zend_Db_Adapter을 참조하십시오.

$db = Zend_Db::factory(...); 

$db->insert("person", array(
    "name" => "John", 
    "familyname" => "Doe",  
)); 

$personId = $db->lastInsertId(); 

$db->insert("address", array(
    "person_id" => $personId, 
    "street" => "Some Street", 
    "city" => "Gotham City", 
));