CakePHP 2.x GROUP BY在Containable内

时间:2011-11-01 18:13:53

标签: php cakephp lamp cakephp-2.x

我很难找到一个好的解决方案,使用set::extract()或其他东西。我想在我的可包含内添加GROUP BY:

$params = array(
    'conditions'=>array(
        'Project.id'=>$ProjectId
    ),
    'contain'=>array(
        //Gets the User Who owns the Project
        'User'=>$user,
        'Bid'=>array(
            //The User Who owns the Bid
            'User'=>$user
        ),
        'ProjectType',
        'Os',
        'Comment'=>array(
            'To'=>$user,
            'From'=>$user,
            'group'=>"Comment.from_id"
        ),
    ),
);
//debug($params);
return $this->find('first',$params);

我不想破解这个问题 - 有更简单的方法吗?

2 个答案:

答案 0 :(得分:5)

对于通过Google偶然发现此问题的其他任何人来说,似乎GROUP BY条件包含可包含的查询aren't supported in Cake 1 or 2,因此如果必须进行分组,则需要手动加入。

答案 1 :(得分:-1)

您可以在包含的项目中执行条件:

'contain'=>array(
    'Comment'=>array(
        'To'=>$user,
        'From'=>$user,
        'conditions'=>array(
            'group'=>"Comment.from_id"
        ),
     ),
)

http://book.cakephp.org/view/1323/Containable