Предположим, что у меня есть модель User
, которая имеет много-много отношение к себе, названное как friends
.
поэтому $user->friends
(или $model->friends
) дает мне массив объектов User
. Я хотел показать друзей как gridview. Но CGridView
данные как объект dataProvider
. Googling для него нашел способ преобразования массива объектов модели в объект 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)'),
);
}