CakePHP 2.x GROUP BY в контейнере - PullRequest
3 голосов
/ 01 ноября 2011

Я схожу с ума, пытаясь найти хорошее решение, используя 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 ]

5 голосов
/ 07 февраля 2014

Для всех, кто сталкивается с этим через Google, похоже, что GROUP BY условия для содержащихся запросов не поддерживаются в Cake 1 или 2 , поэтому ручное объединение потребуется, если группировкаобязательно.

0 голосов
/ 02 ноября 2011

Вы можете выполнить условия внутри содержащихся предметов:

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

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

...