1

だから、私はユーザーとのシステムを持っていて、ユーザーには投稿があり、投稿にはコメントがあります。すべてがモデルとうまくリンクしています。

私がやりたいことは、特定の 1 人のユーザーのすべての投稿から最後のコメントをすべて取得することです。

そして、私は少し立ち往生しています。何か案は ?

4

2 に答える 2

2

これを試すことができます:

$this->User->Behaviors->load('Containable');
$this->User->contain(array(
    'Post' => array(
        'order' => array('Post.created' => 'DESC'),
        'Comment' => array(
            'limit' => 4,
            'order' => array('Comment.created' => 'DESC')
        )
    )
));
$rs = $this->User->read(null, $id_user);
$this->User->Behaviors->unload('Containable');

あなたの結果は$rs変数にあります。

参照:

お役に立てれば。

于 2012-10-01T11:18:47.550 に答える
1

UsersController(テストされていません)から次のようなことを行います:

$comments = $this->User->Post->Comment->find('all', array(
    'recursive' = 1,
    'limit' => 4,
    'order' => array('Comment.created' => 'DESC'),
    'conditions' => array('Post.user_id' => $id_user)
));

取得する必要がある場合は、に変更recursiveすることもできます。2User

于 2012-10-01T16:42:09.630 に答える