ページングされたフォームを Yii で作成しようとしています。各ページは、フィールドのグループ用です。これを行う最善の方法は、ActiveRecord モデルを拡張し、現在のページのパラメーターを追加することです。これにより、フォーム自体の独自のルールで rules() メソッドをオーバーライドすることもできます。
これに関する私の問題は、Yii ではモデルをネイティブに拡張できないことです。Yii はそれ自体で self::model(get_class($this)) を実行するため、getMetaData() メソッドをオーバーライドする必要がありました。
それだけでなく、Yii はクラス名に大きく依存しているため、findByPk を使用できません。
これを機能させるための多くの回避策を知っていますが、何か不足しているのではないかと思っています。
ありがとう、
カイル
- 編集 -
私はそれを完全に理解しました、そして私は完全に愚かだと感じます。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);}
}
ええ…私はばかだと思います。