【问题标题】:How to Get Last insert UUID from Zend Framework?如何从 Zend 框架中获取最后一个插入 UUID?
【发布时间】:2011-12-07 06:30:56
【问题描述】:

如何在 Zend 框架中获取最后一个插入 UUID?

【问题讨论】:

    标签: php zend-framework uuid


    【解决方案1】:

    如果您使用“表”(这意味着您的类扩展了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",  
    ));   
    

    【讨论】:

      猜你喜欢
      • 2011-01-06
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多