User
という名前のそれ自体と多対多の関係を持つモデルがあるとしfriends
ます。そう$user->friends
(または$model->friends
ビューで)私にオブジェクトの配列を与えUser
ます。友達をグリッドビューとして表示したかったのです。しかし、オブジェクト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)'),
);
}