无法使排序链接起作用。 (具体或虚拟领域)。
此行动的sum()字段的Vitual字段:
$this->Qca->virtualFields['comps'] = 'Sum(CASE WHEN Qca.qca_tipcode = 1 THEN 1 END)';
$this->Qca->virtualFields['production'] = 'Sum(qca_end - qca_start)';
$this->Qca->virtualFields['idle'] = 'Sum(Qca.qca_durend)';
我的find(),工作正常:
$hoursvalues = $this->Qca->find('all', array('conditions' => $conditions,
'fields' => array('Qca.dir_id', 'Qca.name', 'Sum(CASE WHEN Qca.qca_tipcode = 1 THEN 1 END) AS Qca__comps', 'Sum(qca_end - qca_start) as Qca__production', 'Sum(Qca.qca_durend) as Qca__idle'),
'group' => array('Qca.dir_id')
)
);
然后:
$this->paginate('Qca' );
$this->set('hoursvalues', $hoursvalues);
$this->paginate('Qca' );
需要哪些额外设置?请注意我通过find()获得了我需要的所有数据。
什么是我错过了排序不适用于具体或虚拟领域?
Thansk很多!
卡洛斯
答案 0 :(得分:0)
您的部分问题如下:
$this->paginate('Qca');
$this->set('hoursvalues', $hoursvalues);
$this->paginate()
返回一个带有排序值的数组。您需要做的是在$this->paginate
数组中指定额外设置,然后
$this->set('hoursvalues', $this->paginate('Qca'));
对于您的其他字段,制作virtualFields
会使它们更易于使用。