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 に答える