Comment convertir un tableau d'objets de données de modèle en dataProvider

Supposons que j'ai le modèle User qui ont beaucoup de beaucoup de relation avec lui-même nommé comme friends.
donc $user->friends (ou $model->friends en vue) me donne un tableau de User objets. Je voulais afficher les amis gridview. Mais CGridView données dataProvider objet. Googler il a trouvé le moyen de convertir le tableau des objets de modèle à dataProvider objet comme indiqué ci-dessous.

$this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'gridUser',
    'dataProvider' => new CArrayDataProvider($model->friends, array()),
));

Maintenant ce que j'obtiens une erreur

Propriété "De L'Utilisateur.id" n'est pas défini.

Mise à JOUR

public function relations()
{
    return array(
         'friends' => array(self::MANY_MANY, 'User', 'friendship(user_id, friend_id)'),
    );
}

source d'informationauteur prashu132