繁体   English   中英

Yii-一页内有多个CGridView用于关系

[英]Yii - Multiple CGridView in One Page for Relations

我有以下关系方案:

1 portfolio -> Many Users in each Portfolio -> Each User owns many Products

实体:产品组合,用户,产品

我要显示的内容是在一个页面中:1.投资组合的名称2.用户的标题3.该用户拥有的所有产品的CGridView

似乎,如果未使用CGridView,则可以适当地填充模型,然后使用foreach循环遍历每个用户关系,然后遍历与该用户相关的产品。 并为产品和用户创建render_partial视图。

但是,我完全不知道如何使用CGridView完成此操作。

任何建议都非常感谢!

您要在CGridView中呈现用户的产品吗?

要使用CGridView渲染数据,您需要传入CDataProvider来填充视图。 所以问题是:如何为HAS_MANY关系创建CDataProvider?

令人惊讶的是, CActiveDataProvider不以这种方式支持关系。 您需要做的就是获取关系并将该数据传递到CArrayDataProvider 假设$user->products关系,您可以这样进行:

$dataProvider = new CArrayDataProvider($user->products, array());
$this->widget('zii.widgets.grid.CGridView', array(
  'dataProvider'=>$dataProvider,
  'columns'=>array(
    'id', // your columns here
  ),
));

这不是理想的方法,但是可以。 这种特殊技术应归功于此: http : //learnyii.blogspot.com/2010/12/yii-how-to-display-related-hasmany-grid.html

暂无
暂无

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

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