我目前正在尝试使用以下方式访问刚刚插入的数据:
if($this->User->save($this->data))
{
$user_id = $this->User->id; #119
...
但我收到错误:
Notice (8): Undefined index: id [APP/controllers/users_controller.php, line 119]
Code | Context
if($this->User->save($this->data))
{
$user_id = $this->data['User']['id'];
我不明白为什么保存成功,但是id没有设置?
编辑:
所以问题是因为我使用数据库关系迫使我的读取从多个表返回数据,它最终从多个表返回数据,所以我真正需要做的是:
$user = $this->User->read();
$id = $user['User']['id'];
而不是:
$user = $this->User->read();
$id = $user['id'];
答案 0 :(得分:2)
要获取此模型插入的最后一条记录的ID,您应该使用
$this->User->getLastInsertID();
通常$this->User->id
用于使某些操作知道它应该处理哪个记录,你不能用它来从数据库中检索数据。
答案 1 :(得分:0)
是的,保存数据时$model->data['Model']['id']
未更新。只有$model->id
。这就是它的全部内容。