目前我正在试图访问只是用插入的数据:
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'];
你在if语句之前检查过'$ this-> data'的内容吗?用var_dump($ this-> data)' – 2010-07-16 23:27:16
在if之前,设置变量,除了ID。 在if之后,变量仍然被设置,除了ID,应该由插入设置。 – chustar 2010-07-16 23:51:21
OIC,问题似乎是模型没有从数据库重新加载数据。正确?从技术上讲,你不是试图访问刚刚插入的数据,而是数据库作为插入结果创建的数据。我不熟悉CakePHP,但我不希望它自己这样做。我希望不得不从数据库重新加载数据。 – 2010-07-17 00:18:26