假设我有一个模型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)'),
);
}