【发布时间】:2012-12-17 13:32:18
【问题描述】:
假设我有模型User,它与自身有多对多关系,命名为friends。
所以$user->friends(或$model->friends)给了我一个User对象的数组。我想将朋友显示为gridview。但是CGridView 数据作为dataProvider 对象。谷歌搜索找到了将模型对象数组转换为dataProvider 对象的方法,如下所示。
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'gridUser',
'dataProvider' => new CArrayDataProvider($model->friends, array()),
));
现在使用这个我得到一个错误
未定义属性“User.id”。
更新
public function relations()
{
return array(
'friends' => array(self::MANY_MANY, 'User', 'friendship(user_id, friend_id)'),
);
}
【问题讨论】:
-
添加您如何定义关系以及两个模型如何关联(PK 和 FK)对于获得答案至关重要!
标签: php model yii dataprovider