Кто-нибудь знает, как Group By может работать с paginate в CakePHP? - PullRequest
1 голос
/ 17 ноября 2011

У меня есть следующий сегмент кода, в котором я хочу сгруппировать все по Release.id, так как я получаю много дубликатов. Даже если у меня есть DISTINCT, он полностью игнорируется.

Может ли кто-нибудь направить меня в правильном направлении?

$this->Release->recursive = 0;
    $this->paginate['Release']['joins'] =
                   array(
                    array(
                        'table' => 'game_potential_amazon_matches',
                        'alias' => 'PotentialAmazonMatch',
                        'type' => 'inner',
                        'conditions' =>
                        array(
                            'PotentialAmazonMatch.release_id = Release.id'
                            ),'fields' => array('DISTINCT Release.id')
                           )
                    );
    $this->set('releases', $this->paginate('Release'));






RELEASE TABLE
id
name
asin


MATCHES TABLE
date
asin
release_id

Таблица соответствий имеет отношение один ко многим с таблицей релизов. Я просто хочу один релиз.

1 Ответ

1 голос
/ 17 ноября 2011

Вы сейчас определяете 'fields' => array('DISTINCT Release.id') в массиве$this->paginate['Release']['joins'].

Попробуйте разместить его после условий в $this->paginate['Release'].

...