2

テーブルにデータを正常に保存していますが、保存された HABTM レコードの ID を取得したいと考えています。

保存配列は次のようになります。

Array
(
    [User] => Array
        (
            [id] => 1
        )

    [Following] => Array
        (
            [follows_uid] => 36
        )

)

したがって、ユーザー ID が 1 で、フォローされているユーザーのユーザー ID が 36 の新しいレコードが、followers_users テーブルに保存されます。新しいレコードごとに新しい ID がありますが、使用できません$this->User->getInsertID();。。$this->User->getLastInsertID();_[User]

保存して実行すると、次のpr($this->User->FollowersUser);ようになります。

AppModel Object
(
    [useDbConfig] => default
    [useTable] => followers_users
    [id] => 
    [data] => Array
        (
            [FollowersUser] => Array
                (
                    [16] => 
                )

        )

この場合、データベースを見て実際に挿入された ID は次のとおりです。9

どんなアイデアでも大歓迎です!!

4

1 に答える 1

0

新しい HABTM フィールドの ID を知りたいだけなら、単純なfind呼び出しを行うだけです。これは最も効率的な方法ではないかもしれませんが、確実な結果が得られます。

$this->User->FollowersUser->find('first', array(
    'FollowersUser.user_id'     => $user_id,
    'FollowersUser.follows_uid' => $followers_id
    ))
于 2013-06-18T14:52:25.393 に答える