Zend Framework:如何检索最后插入的行的 id?
我使用以下代码将新行插入到数据库中:
$data = array(
'key' => 'value'
);
$this->getDbTable()->insert($data);
How can I get the row id of the this row that I just create?
I'm inserting a new row into my database with this code:
$data = array(
'key' => 'value'
);
$this->getDbTable()->insert($data);
How can I get the row id of the this row that I just created?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你尝试过这个吗?这也很好用。
Did you try this ? This also works fine.
有一个问题。当调用
$this->getDbTable()->insert($data);
时,您必须确保 $data 包含表的“主键”。例如,如果是自动递增,则为id=null
。否则,insert()
将不会返回最后插入的 ID。One gotcha. When calling
$this->getDbTable()->insert($data);
you have to make sure $data include the "primary key" of your table. For example,id=null
if it's auto-increment. Otherwise,insert()
will not return the last inserted ID.尝试下面的代码:
插入数据:
获取最后插入的值:
Try below code:
To insert data:
Get Last Inserted value:
还有
newId
函数,它返回下一个新的 ID,因此您可以使用它来插入新行。现在您可以使用您的
$id
做任何您想做的事情。There is also
newId
function, witch returns the next new ID, so you can use it to insert a new row.Now you can do whatever you want with your
$id
.