-1

嗨,最近我正在处理一个大型项目,我有 5 个需要使用的表。这是我想列出帖子表中的所有帖子以及特定帖子的所有评论的场景。每条评论都有作者,所以我也需要那里的信息。让事情变得容易

帖子 1

-> 帖子描述 [取自帖子表]

-> 与帖子 1 相关的评论[取自评论表,也有 post_id 作为外键]

-> 评论用户信息 [评论表有 user_id 作为外键]

帖子 2

-> 帖子描述 [取自帖子表]

-> 与帖子 2 相关的评论[取自评论表,也有 post_id 作为外键]

-> 评论用户信息 [评论表有 user_id 作为外键]

.

.

.

发布 {n}

-> 帖子描述 [取自帖子表]

-> 与帖子 {n} 相关的评论[取自评论表,也有 post_id 作为外键]

-> 评论用户信息 [评论表有 user_id 作为外键]

假设我的表中有超过 10000 个帖子

任何人都可以帮我解决这个问题。

我还想从数据库层创建表视图来完成这项任务

4

1 回答 1

0

只要您正确设置了模型关系(我不会详细介绍这一点,因为 CakePHP 书是这方面的极好参考),这相对简单。

为了能够获取每个评论帖子的用户数据,您必须使用Containable。同样,我不会真正解释它的作用,因为这本书可以做得更好。

我在下面提供了一个示例查询,但请注意它可能不是 100% 正确的(特别是考虑到我不知道您的列的名称):

$data = $this->Post->find('all', array(
    'fields' => array('Post.description'),
    'contains' => array(
        'Comments',
        'Commenter' //Alias for the User Model
    )  
    )); 

只是对上述评论的解释:这假设Comment hasOne Commenter => array('className' => 'User')

于 2013-07-11T18:29:18.697 回答