2013-03-29 30 views

回答

3

你可以创造出两个模型的扩展类:

class CommonClass extends CActiveRecord 
{ 

    public function beforeValidate(){ 
     ... 
    } 

} 

class A extends CommonClass{ 
} 

class B extends CommonClass{ 
} 

或者你可以定义一个行为,并添加这种行为到这两个模型!

class YourBehavior extends CActiveRecordBehavior 
{ 
    public function beforeValidate($event) 
    { 
     ... 
    } 
} 

class A extends CActiveRecord{ 
    public function behaviors(){ 
    return array(
     'YourBehavior' => array(
      'class' => 'components.YourBehavior', 
     ),  
    ); 
} 
} 

class B extends CActiveRecord{ 
    public function behaviors(){ 
    return array(
     'YourBehavior' => array(
      'class' => 'components.YourBehavior', 
     ),  
    ); 
} 
} 
+0

这就是我当时也想,但是我觉得Yii有这种情况 –

+0

哼了预置的解决方案,我所知道的关于Yii的这些都是我所知道的唯一的解决办法。但是声明一个行为非常简单,我不知道什么“预先构建的解决方案”比你想象的更容易! – darkheir

+0

韦尔,我只是想知道,这没什么特别的,它的正常环境与类 –

相关问题