cakephp getLastInsertID()

Posted

技术标签:

【中文标题】cakephp getLastInsertID()【英文标题】: 【发布时间】:2013-11-24 20:11:13 【问题描述】:

此代码:

foreach ($arrays as $array)
    $this->Model->set('bla', $array['key1']);
    $this->Model->set('alb', $array['key2']);
    $this->Model->save();
    echo $this->Model->getLastInsertID() . ",";

返回:

2,2

应该返回:

1,2

我尝试使用

foreach ($arrays as $array)
    $this->Model->query('insert....');
    $this->Model->query('select last_insert_id()')
    

但返回“1,1”... 那我做错了什么??

【问题讨论】:

试试 $this->Model->set('id', ''); 【参考方案1】:

在循环中保存时,需要先显式调用 Model::create()。

foreach ($arrays as $array)
    $this->Model->create();
    $this->Model->set('bla', $array['key1']);
    $this->Model->set('alb', $array['key2']);
    $this->Model->save();
    echo $this->Model->getLastInsertID() . ",";

【讨论】:

不知何故我没想到:D ...谢谢...应该先问...我会节省很多时间和键盘。 感谢 create() 提示,我一直在苦苦挣扎,由于该方法,我终于能够解决问题。

以上是关于cakephp getLastInsertID()的主要内容,如果未能解决你的问题,请参考以下文章

markdown [cakephp:CakePHP3注意事项] CakePHP3基本知识说明。 #cakephp

php [cakephp:Paginator示例] CakePHP上PaginatorComponent的示例代码。 #cakephp

php [cakephp:mysqldump] mysqldumpのcakephp実装サンプル。#php #cakephp #mysql

ORM如何在CakePHP3中运行

使用 Cakephp-jwt-auth [CakePHP 3] 过期后颁发新令牌

从 cakephp 3.x 迁移到 cakephp 4.x [关闭]