La mia necessità finale è di avere nella _view che mi dice semplice id e nome del gruppo, anche la lista degli utenti associati a quel gruppo. Dato che l’esempio che ho sottomano (da un manuale cartaceo comprato) usa una lista per questo caso, sto cercando di replicarlo.
model gruppi, (la relazione è Gruppo 1 -> N Utenti) :
public function relations()
{
return array(
'users' => array ( self::HAS_MANY, 'Users',' groupId' ),
);
}
controller gruppi
Ho modificato l’action view in modo da avere un dataProvider per gli utenti del gruppo, visto che già l’action riceve l’id del gruppo dalla ‘lente’ della vista admin
public function actionView($id)
{
// Aggancio l'elenco dei proclamatori al nome del gruppo:
$usersDataProvider=new CActiveDataProvider('Users', array(
'criteria'=>array(
'condition'=>'groupId=:myGroupId',
'params'=>array(':myGroupId'=>$id),
),
'pagination'=>array(
'pageSize'=>20,
),
));
$this->render('view',array(
'model'=> $this->loadModel($id),
'userView' => $usersDataProvider,
));
}
A questo punto nella groups/_view.php ho aggiunto in coda
<h2>Utenti</h1>
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$usersDataProvider,
'itemView'=>'/users/_view',
)); ?>
Ma quello che ottengo è un errore:
Undefined variable: proclamatoriDataProvider
scatenato proprio dall’assegnazione del dataProvider più sopra.