2012-06-22 28 views
1

无法使排序链接工作。 (具体或虚拟领域)。cakephp排序链接不工作

我和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)'; 

我发现(,做工精细:

$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

你的问题的部分原因如下:

$this->paginate('Qca'); 
$this->set('hoursvalues', $hoursvalues); 

$this->paginate()返回与排序值的数组。什么,你需要做的是在$this->paginate阵列指定额外的设置,然后

$this->set('hoursvalues', $this->paginate('Qca')); 

您的其他领域,使他们virtualFields会让他们更容易使用。

+0

谢谢Tigrand;如果我使用'$ this-> set('hoursvalues',$ this-> paginate('Qca'));'数组不会传到我的视图中,我需要使用$ hoursvalues,请您详细说明一下这个? –

+0

嗨。我升级了问题,谢谢你的虚拟场景笔记(我的数组现在更简单),但仍然无法使排序链接正常工作。你可以看一下吗?谢谢 ! –