【发布时间】:2011-12-07 06:30:56
【问题描述】:
如何在 Zend 框架中获取最后一个插入 UUID?
【问题讨论】:
标签: php zend-framework uuid
如何在 Zend 框架中获取最后一个插入 UUID?
【问题讨论】:
标签: php zend-framework uuid
如果您使用“表”(这意味着您的类扩展了Zend_Db_Table_Abstract),那么在调用Zend_Db_Table_Abstract::insert 方法时会自动返回最后插入的带有生成键的主键:
$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",
));
Zend_Db_Table 的 Zend 参考中有更多关于该方法的信息
如果您直接使用数据库适配器(类扩展Zend_Db_Adapter_Abstract,使用Zend_DB::factory 实例化或使用应用程序资源实例化数据库),那么有一个更灵活的方法Zend_Db_Adapter_Abstract::lastInsertId。有关详细信息,请参阅 Zend_Db_Adapter 的 Zend 参考。
$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",
));
【讨论】: