【问题标题】:last insert id with zend db table abstract最后插入 id 与 zend db 表摘要
【发布时间】:2011-01-30 09:07:19
【问题描述】:

变量$tablemodel 在扩展Zend_Db_Table_Abstract 的模型实例中,如果我这样做的话

$tablemodel->insert($data)

插入数据。是否有任何方法或属性来获取最后插入 id?

问候

【问题讨论】:

    标签: php zend-framework insert zend-db


    【解决方案1】:

    试试

    $id = $tablemodel->insert($data);  
    echo $id;
    

    【讨论】:

    • 在我的 Zend 版本中 insert 返回一个 int,但它是受影响的行数,而不是最后插入的行!
    • Zend 2 不返回 id,它返回受影响的行数。
    【解决方案2】:
    $last_id = $tablemodel->getAdapter()->lastInsertId();
    

    【讨论】:

      【解决方案3】:

      你可以使用 lastInsertId 方法

      echo 'last inserted id: ' . $db->lastInsertId();
      

      【讨论】:

      • $db 来自哪里?
      【解决方案4】:

      插入查询后使用

      $this->dbAdapter->getDriver()->getLastGeneratedValue();
      

      【讨论】:

      • 现在可以改变。我使用自动递增的主键“id”。因此,如果您有适配器,请获取驱动程序,它应该可以工作。还有 Zend-Db v2.9
      【解决方案5】:

      $insert_id = $this->db->getLastId() 为我工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-09
        • 1970-01-01
        • 2011-01-06
        • 2013-11-13
        • 1970-01-01
        • 2012-10-13
        • 1970-01-01
        相关资源
        最近更新 更多