【发布时间】:2013-04-09 17:03:12
【问题描述】:
我坚持使用 Zend 框架 2 获取最后一个插入 id,我放弃了这个...
有尝试过的组合:
var_dump($this->tableGateway->insert($insert));
var_dump($this->tableGateway->lastInsertValue);
var_dump($this->tableGateway->getLastInsertValue());
var_dump($this->tableGateway->getAdapter()->getDriver()->getConnection()->getLastGeneratedValue());
值正在插入到表中,但每一行(除了第一行,它给出 int “1”)都返回 null。请不要告诉我,这么大的框架没有提供获取last insert id值的可能性!?
【问题讨论】:
-
试试
$this->tableGateway->getAdapter()->lastInsertId(); -
致命错误:调用未定义的方法 Zend\Db\Adapter\Adapter::lastInsertId()
-
$adapter->getDriver()->getLastGeneratedValue();
-
您也可以提供序列对象的名称:$adapter->getDriver()->getLastGeneratedValue($name)
-
@Piotr 这来自 PHP 手册:“PDO_PGSQL() 要求您为 name 参数指定序列对象的名称。”我猜对于其他驱动程序,您可以从 TableGateway 调用 getLastInsertValue()
标签: php postgresql insert frameworks zend-framework2