User
というモデルがあり、それ自体が多くの場合、friends
という名前に多くの関係があるとします。 だから$user->friends
(または$model->friends
)は私にUser
のオブジェクトの配列を与えます。友達をgridviewとして表示したかったのです。しかし、CGridView
データはdataProvider
オブジェクトです。グーグルでは、以下のようにモデルオブジェクトの配列をdataProvider
オブジェクトに変換する方法を発見しました。モデルデータオブジェクト配列をdataProviderに変換する方法
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'gridUser',
'dataProvider' => new CArrayDataProvider($model->friends, array()),
));
今、これを使用して、私は
プロパティ "User.id" が定義されていないエラーを取得します。
UPDATE
public function relations()
{
return array(
'friends' => array(self::MANY_MANY, 'User', 'friendship(user_id, friend_id)'),
);
}
あなたが関係をどのように定義し、2つのモデルがどのように関係しているか(PKとFK)を追加することは、答えを得るために不可欠です! –