Cakephp Как сделать заказ по desc в объединении с группой по? - PullRequest
0 голосов
/ 18 февраля 2019

Я создаю таблицу с группой пользователей и хочу получить туда последние обновления.Я выполняю объединение с тремя таблицами с группировкой по группам, Группировка по - это сбор записей только в том порядке, в котором мне нужно получить в порядке удаления.

$this->DigitalServiceProvider->virtualFields['status'] = "VD.status";
        $this->DigitalServiceProvider->virtualFields['video_id'] = "VD.video_id";
        $this->DigitalServiceProvider->virtualFields['finish_date'] = "VD.date";

        $this->DigitalServiceProvider->virtualFields['scheduled'] = "CD.scheduled";
        $this->DigitalServiceProvider->virtualFields['finished'] = "CD.finished";
        $this->DigitalServiceProvider->virtualFields['start_time'] = "CD.created";
        $this->DigitalServiceProvider->virtualFields['end_time'] = "CD.end_time";
        $this->DigitalServiceProvider->virtualFields['version'] = "CD.version";
        $this->DigitalServiceProvider->virtualFields['action'] = "CD.action";

        $dspOpt = array(
            'fields' => array(
                'DigitalServiceProvider.*',
                'status',
                'finish_date',
                'video_id',
                'scheduled',
                'finished',
                'start_time',
                'end_time',
                'version',
                'action',
            ),
            'conditions' => array(
                'dsp_operational_state' => 1,
                'dsp_video_support' => 1,
            ),
            'joins' => array(
                array(
                    'table' => 'video_dsps',
                    'alias' => 'VD',
                    'type' => 'left',
                    'conditions' => array(
                        'DigitalServiceProvider.id = VD.dsp_id',
                        'VD.video_id' => $id
                    ),
                ),
                array(
                    'table' => 'content_deliveries',
                    'alias' => 'CD',
                    'type' => 'left',
                    'conditions' => array(
                        'DigitalServiceProvider.id = CD.dsp_id',
                        'CD.video_id' => $id,
                    ),
                ),
            ),
            'group'=>array('CD.dsp_id'),
            'order'=>array('CD.id'=>'desc')
        );
        $dsps = $this->DigitalServiceProvider->find('all', $dspOpt);
...