首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii CGridView DataProvider

Yii CGridView DataProvider
EN

Stack Overflow用户
提问于 2013-06-18 18:28:27
回答 2查看 4.6K关注 0票数 0

我有两个模型:项目和用户。在项目中:

代码语言:javascript
复制
public function relations()
{
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
            "users"=>array(self::MANY_MANY, 'User',
            'projects_users(project_id, user_id)'),
    );
}

我想列出所有在实际项目中的用户,$model包含实际项目:

代码语言:javascript
复制
    <?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'user-grid',
    'dataProvider'=>$model->users,
    'columns'=>array(
        'ID',
        'username',
        'displayname',
        'firstname',
        'lastname',
        'email',
        /*
        'password',
        'isAdmin',
        */

        array(
            'class'=>'CButtonColumn',
            'template'=>'{delete}',
        ),
    ),
)); ?>

不幸的是,我得到了一个错误:

代码语言:javascript
复制
Fatal error: Call to a member function getData() on a non-object in /var/www/vhosts/aevers.com/editor/framework/zii/widgets/CBaseListView.php on line 107
EN

回答 2

Stack Overflow用户

发布于 2013-06-18 19:01:41

这是因为$ CActiveDataProvider ->users不是一个模型:它是一个数组 of CActiveRecords。

请尝试使用:

代码语言:javascript
复制
<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'user-grid',
    'dataProvider'=> new CArrayDataProvider($model->users),
    [...] 
    ),
)); ?>
票数 5
EN

Stack Overflow用户

发布于 2013-06-18 19:46:47

您可以在cgridView中根据项目和用户对结果进行分组和显示

尝试此线程Grouping members

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17166587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档