我正在尝试在 Yii 中创建一个分页的表单。每个页面用于一组字段。我认为最好的方法是扩展 ActiveRecord 模型并为当前页面添加一个参数。这也允许我用我自己的表单规则覆盖 rules() 方法。
我的问题是,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);}
}
是的……我觉得自己很愚蠢。