Suppose I have model User
which have many to many relation to itself named as friends
.
so $user->friends
(or $model->friends
in view) gives me an array of User
objects. I wanted to display the friends as gridview. But CGridView
data as dataProvider
object. Googling for it found the way to convert array of model objects to dataProvider
object as given below.
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'gridUser',
'dataProvider' => new CArrayDataProvider($model->friends, array()),
));
Now using this I get an error
Property "User.id" is not defined.
UPDATE
public function relations()
{
return array(
'friends' => array(self::MANY_MANY, 'User', 'friendship(user_id, friend_id)'),
);
}