2012-06-22 30 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

嗨。我升級了問題,謝謝你的虛擬場景筆記(我的數組現在更簡單),但仍然無法使排序鏈接正常工作。你可以看一下嗎?謝謝 ! –