繁体   English   中英

Yii-在CActiveDataProvider中附加行为

[英]Yii - Attaching a behavior in CActiveDataProvider

我正在寻找一种方法来将行为附加到Yii Framework的网格视图中显示的模型。 网格视图正在使用CActiveDataProvider,我需要每个$ data元素都具有附加的行为。 该模型不应在构造后附加行为,因为它仅与网格视图有关。

谢谢

您可以创建以下类以用于创建数据提供程序。

ActiveDataProvider extends CActiveDataProvider{

  public function getData(){
    $data = parent::getData();

    foreach($data as &$model){
       $model->attachBehavior('aName', new mybehavior());
    }
    return $data;
  }
}

另一个选择(而不是按照另一个答案中的建议创建CActiveDataProvider替代)是提前进行所有模型查询,并将行为附加到控制器中。 然后传递给CArrayDataProvider。

嗯,考虑一下,我更喜欢其他方法:-)为了完整起见,我将其保留。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM