如何将数据插入Yii CActiveDataProvider迭代的对象

如何将数据插入Yii CActiveDataProvider迭代的对象,yii,cactivedataprovider,Yii,Cactivedataprovider,我有一个奇怪的请求,我不确定除了简单的暴力之外还有什么更好的方法,但我有一个CActiveDataProvider正在被渲染,并且底层模型的虚拟属性正在被使用 我希望能够向该模型传递额外的信息,以过滤这些虚拟属性中的计算 例如,假设有一个虚拟属性方法getCreated\u Widget\u Count,它返回实体在其生命周期内创建的Widget的数量(假设它是Widget制造商) 我想能够过滤计数到一个特定的日期范围 所以我想创建一个CActiveDataProvider,并在CListVie

我有一个奇怪的请求,我不确定除了简单的暴力之外还有什么更好的方法,但我有一个CActiveDataProvider正在被渲染,并且底层模型的虚拟属性正在被使用

我希望能够向该模型传递额外的信息,以过滤这些虚拟属性中的计算

例如,假设有一个虚拟属性方法getCreated\u Widget\u Count,它返回实体在其生命周期内创建的Widget的数量(假设它是Widget制造商)

我想能够过滤计数到一个特定的日期范围

所以我想创建一个CActiveDataProvider,并在CListView中使用它来显示每个元素,并且该视图正在访问属性created\u widget\u count。但我希望它有时将结果限制为基于日期范围的数字

显然,要做的事情是首先迭代整个数据集,并在每个对象中设置要过滤的范围,但我希望有一种方法可以将信息传递给CActiveDataProvider,它可以进入每个构造函数,以便在构建它们的过程中完成


有什么想法吗?

我的方法是,在初始化ActiveRecord时,将筛选器的日期范围设置为虚拟属性。这样,当我调用$model->createdWidgetCount时,getCreated\u Widget\u Count方法使用这些值来设置widgetCount。