2013-04-02 71 views
0

我正在尋找一種方法如何將行爲附加到Yii框架中的網格視圖中顯示的模型。網格視圖使用CActiveDataProvider,我需要每個$ data元素都有一個附加的行爲。該模型不應該在構造之後附加行爲,因爲它僅與網格視圖相關。Yii - 附加在CActiveDataProvider行爲

感謝

+0

你想要附加什麼類型的行爲? – Pitchinnate

回答

1

您可以創建下面的類用於創建數據提供者。

ActiveDataProvider extends CActiveDataProvider{ 

    public function getData(){ 
    $data = parent::getData(); 

    foreach($data as &$model){ 
     $model->attachBehavior('aName', new mybehavior()); 
    } 
    return $data; 
    } 
} 
+0

我剛剛實現了這一點,它的工作原理。感謝威廉。 –

0

(而不是在另一個答案建議設立一個CActiveDataProvider覆蓋)另一種選擇是做所有你的模型查詢的時間提前,並附上您的行爲在你的控制器。然後傳遞給CArrayDataProvider。

嗯,想一想,我更喜歡另一種方法:-)爲了完整起見,我會留下這個。

相關問題