提问者:小点点

如何在CakePHP 3.0中获得最后一个插入ID?


使用CakePHP3.0测试版似乎是一个简单的问题,但我已经搜索了文档,没有找到任何东西。使用$this插入新记录后-

有了Cake 2. x,我可以做:

$record_id=$this->ModelName->id;

$record_id=$this->ModelName->getLastInsertID();

然而,这两种方法在CakePHP3.0中似乎都不起作用。

谢谢


共3个答案

匿名用户

最终找到了答案,如果其他人遇到了这个问题,请执行以下操作:

$result=$this->ModelName->save($whatever);
$record_id=$result->id;

匿名用户

敬cakephp3。X我发现了这个:

if ($articlesTable->save($article)) {
    // The $article entity contains the id now
    $id = $article->id;
}

http://book.cakephp.org/3.0/en/orm/saving-data.html#inserting-data

匿名用户

您可以按照以下方法解决此问题。

对于CakePHP 3. x

$result = $this->ModelName->save($this->request->data);
$insertedId = $result->id;

对于CakePHP 2。十、

$this->ModelName->save($this->request->data);
$insertedId = $this->ModelName->getLastInsertId();