0

我有一个名为 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] => asdf@asdf.com
        [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
                    )

            )

    )

)

所以它似乎可以根据我得到的数组工作,但它不会像那样保存。非常感谢您的帮助。

4

1 回答 1

2

也许是因为 cake 自动将 id 生成为 UUID(当字段为字符串且长度为 36 时)看看CakePHP API - Model->save()

于 2012-06-02T06:57:17.997 回答