目前我正在試圖訪問只是用插入的數據:
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