2012-06-02 31 views
0

我有一個名爲user的表。該ID是即時生成的。用戶的ID與cakephp中的user_id不匹配

我有一個HABTM表。我正在嘗試在用戶註冊期間插入一條記錄。出於某種原因,我無法獲得用戶的ID和user_id匹配。

這看起來是正確的,即使我的數組反映正確的信息,但實際存儲的數據是不正確的。

代碼:

$this->request->data['User']['id'] = String::uuid(); 
$this->request->data['Company']['Company'][0]['user_id'] = $this->request->data['User']['id']; 

返回數組:

Array 
(
[User] => Array 
    (
     [email_address] => [email protected] 
     [id] => 4fc9a939-3e24-4c79-85d1-6c28e4ca782d 
    ) 

[Company] => Array 
    (
     [Company] => Array 
      (
       [0] => Array 
        (
         [id] => 4fc9a939-1840-4c1b-8bd2-6c28e4ca782d 
         [company_id] => 4fc990dd-edb0-4559-bb7b-6a00e4ca782d 
         [user_id] => 4fc9a939-3e24-4c79-85d1-6c28e4ca782d 
        ) 

      ) 

    ) 

) 

這樣看來,它會根據我得到的陣列上工作,但它不保存這樣的。非常感謝幫助。

+0

那麼,是什麼,而不是救嗎?表中的id字段的類型是什麼?爲什麼你有一個'公司'嵌套在另一個裏面? – JJJ

+0

類型是varchar(36),它保存了兩個單獨的UUID,用戶的id被生成爲我不期望的,user_id是我爲它生成的。嵌套公司是您在save()之前如何定義陣列中的HABTM關係的方式。 – alairock

回答

2

也許是因爲蛋糕自動生成的實例ID來UUID(時域是字符串,長度爲36)看看CakePHP API - Model->save()

+0

可以理解。問題是,我如何讓我的companies_users表反映與我的用戶表相同的user_id。這是我正在努力完成的目標。 – alairock

+0

您如何保存數據?使用什麼方法?請添加更多示例 –

+0

我使用$ this-> User-> save($ this-> request-> data)來保存數據。你還需要看什麼? – alairock