如何防止Cakephp扁平化1级关联

时间:2017-10-24 20:30:44

标签: php cakephp cakephp-2.5

假设我有以下型号。用户,帖子和评论。用户有很多帖子。帖子有很多评论。如果我在帖子控制器中尝试以下操作:

$post = $this->Post->find('first', array('contain' => array('Comment')));

我得到一个如下所示的数组:

array(
    'Post' => array(
        'postfield1',
        'postfield2',
        'etc'
    ),
    'Comment' => array(
        [0] => array('firstcommentfield1', 'etcfields'),
        [1] => array('secondcommentfield1', 'etcfields'),
    )
)

但是,如果我从用户控制器运行以下内容,

$user = $this->User->find('first', array('contain' => array('Post' => array('Comment'))));

然后查看用户$user['Post'][0]的第一篇帖子我得到以下内容

array(

    'Post' => array(
        'postfield1',
        'postfield2',
        'etc'
        'Comment' => array(
            [0] => array('firstcommentfield1', 'etcfields'),
            [1] => array('secondcommentfield1', 'etcfields'),
        )
    ),
)

这使得在没有先手动格式化的情况下编写对帖子起作用的函数很困难。

任何人都有解决方法吗?

0 个答案:

没有答案