ben*_*921 19 cakephp cakephp-3.0
使用CakePHP 3.0测试版似乎是一个简单的问题,但我搜索了文档并找不到任何东西.使用$ this-> Model-> save()插入新记录后,我想获取新创建记录的auto_increment主键ID.
使用Cake 2.x,我可以做到:
$record_id=$this->ModelName->id;
Run Code Online (Sandbox Code Playgroud)
要么
$record_id=$this->ModelName->getLastInsertID();
Run Code Online (Sandbox Code Playgroud)
然而,这些似乎都不适用于CakePHP 3.0.
谢谢
ben*_*921 30
终于找到了答案,如果有人碰到这个:
$result=$this->ModelName->save($whatever);
$record_id=$result->id;
Run Code Online (Sandbox Code Playgroud)
小智 14
到cakephp3.XI发现了这个:
if ($articlesTable->save($article)) {
// The $article entity contains the id now
$id = $article->id;
}
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
对于 CakePHP 2.x
$this->ModelName->save($this->request->data);
$insertedId = $this->ModelName->getLastInsertId();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29874 次 |
| 最近记录: |