我試圖在分頁的Yii中創建表單。每個頁面都是針對一組字段的。我想,最好的方法是擴展ActiveRecord模型併爲當前頁面添加一個參數。這也使我可以用我自己的規則爲表單本身重寫rules()方法。如何在Yii中擴展activeRecord模型
我的問題是,Yii不允許我們本地擴展模型。我不得不重寫getMetaData()方法,因爲Yii本身運行self :: model(get_class($ this)),這最終會破壞一切。
不僅如此,但我不能使用findByPk,因爲Yii嚴重依賴於類名。
我知道大量的工作要做,但我想知道如果我錯過了什麼。
感謝,
凱爾
- 編輯 -
我完全理解了它,我完全覺得自己很蠢。我只需要覆蓋model()方法來返回當前的模型類。
所以:
class MyAr extends CActiveRecord {
public static function model($class = __CLASS__){return parent::model($class);}
}
class ExtendedForm extends MyAr {
public static function model($class = __CLASS__){return parent::model($class);}
}
啊...我覺得自己很蠢。
如果我正確地理解你,你想要做一個像嚮導一樣,對!如果是這樣,爲什麼你不使用這種行爲並根據您的確切需要進行配置? http://www.yiiframework.com/extension/wizard-behavior/ – Nimir 2012-08-05 09:40:49
這實際上看起來非常酷,可能是我的解決方案。我會檢查出來的。謝謝! – Kyle 2012-08-05 15:37:39