Zend Framework:如何检索最后插入行的id?

And*_*rew 12 php zend-framework zend-db-table zend-db

我用这段代码在我的数据库中插入一个新行:

$data = array(
    'key' => 'value'
);
$this->getDbTable()->insert($data);
Run Code Online (Sandbox Code Playgroud)

如何获取刚刚创建的此行的行ID?

Ami*_*gar 15

你试过这个吗?这也很好.

//just after you call your insert($data) function .. use this
$lastInsertId = $this->getAdapter()->lastInsertId();
Run Code Online (Sandbox Code Playgroud)


Con*_*ong 10

一个问题.打电话时,$this->getDbTable()->insert($data);您必须确保$ data包含表格的"主键".例如,id=null如果它是自动增量.否则,insert()将不会返回最后插入的ID.

  • 请注意,这已在v1.11.6中标记为已修复.见http://framework.zend.com/issues/browse/ZF-3837 (2认同)