Supponiamo di avere il modello User
che ha molti a molti rapporti con se stesso denominato friends
. quindi $user->friends
(o $model->friends
in visualizzazione) mi fornisce una serie di oggetti User
. Volevo mostrare gli amici come gridview. Ma i dati CGridView
come oggetto dataProvider
. Googling per esso ha trovato il modo di convertire la matrice di oggetti del modello in oggetto dataProvider
come indicato di seguito.Come convertire l'array di oggetti di dati del modello in dataProvider
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'gridUser',
'dataProvider' => new CArrayDataProvider($model->friends, array()),
));
Ora, usando questo ottengo un errore
Proprietà "User.id" non è definito.
UPDATE
public function relations()
{
return array(
'friends' => array(self::MANY_MANY, 'User', 'friendship(user_id, friend_id)'),
);
}
aggiungendo come la relazione definita e il modo in cui due modelli si riferiscono (PK e FK) è fondamentale per ottenere una risposta! –