AR クラスを特定のルールで拡張する 1 つのモデルがあります。しかし今、このテーブルに行を挿入する必要がありますが、他のルールがあります。新しいルールで別のモデルを作成する必要がありますか、それとも別のルールを定義することは可能ですか?
3 に答える
1
クラス (アクティブなレコード) を拡張している場合、実際には rules() 関数をオーバーライドすることができます。
class User extends ActiveRecord(){
function rules(){
return array(array(
// Nomrally a rule
))
}
}
そして、次のクラスを作成します。
class User_extended extends ActiveRecord(){
function rules(){
return array(array(
// Nomrally a rule
))
}
}
そして、それはそれである必要があります。次にクラスを呼び出すと、Yii がコンテキスト内のルールを取得して子クラスになるため、ルールUser_extended
が親クラスに適用されます。User
$this
$this
ただし、ここでシナリオを使用することもできますが、特に他のメソッドをオーバーライドする必要がある場合は、ダーティになる可能性があります。
于 2012-12-24T09:35:02.047 に答える