我有向表中插入数据的代码。这是我的代码:
public function createPage(Pages $page)
{
$data = array(
'page_name' => $page->page_name,
'parent_page_id' => $page->parent_page_id,
'category' => $page->category,
'create_date' => $page->create_date,
);
try {
$id = $this->tableGateway->insert($data);
$id = $this->tableGateway->lastInsertValue;
} catch (Exception $ex) {
throw new Exception($ex->getMessage());
}
return $id;
}当我使用MySql时,我已经得到了行的id,但是对于PostgreSQL,我得到了null。
发布于 2015-02-16 16:18:25
是,
$id = $this->tableGateway->getAdapter()->getDriver()->getLastGeneratedValue("sequence_name");或
$id = $this->tableGateway->getAdapter()->getConnection()->getLastGeneratedValue取决于您的zf2版本。
但是,Postgresql和使用本机PDO类的MySql之间有一些不同,zf2封装并提供了tableGateway。
对于本机php PDO,您可能需要执行以下操作:
"INSERT INTO tbl_table (table_name) values ('foo') RETURNING table_id;"https://stackoverflow.com/questions/28541868
复制相似问题